{"version":3,"mappings":"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AM,EAAG,CAAE,oBAAqB,iBAAkB,EAE5E29F,IACL39F,EAAS65F,GAASA,GAAS,GAAI75F,CAAM,EAAGo9F,GAA0BO,CAAG,CAAC,GAE1E,QACZ,CAEQ,GAAIV,GAA4B,KAAKxqG,EAAM,IAAI,EAAG,CAC9CuN,EAAS65F,GAASA,GAAS,CAAE,EAAE75F,CAAM,EAAGo9F,GAA0B3qG,EAAM,IAAI,CAAC,EAC7E,QACZ,CACQ,IAAImrG,EAAWL,GAAU9qG,EAAM,IAAI,EAC/BmrG,IACA59F,EAAS65F,GAASA,GAAS,CAAE,EAAE75F,CAAM,EAAG49F,CAAQ,GAEpD,IAAIM,EAAsCV,GAAyC/qG,EAAM,IAAI,EACzFyrG,IACAl+F,EAAS65F,GAASA,GAAS,CAAE,EAAE75F,CAAM,EAAGk+F,CAAmC,EAEvF,CACI,OAAOl+F,CACX,CCzTO,IAAIm+F,GAAW,CAClB,MAAO,CACH,IACA,GACH,EACD,IAAO,CACH,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,KACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,KACA,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,KACA,KACA,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,GAAM,CACF,IACA,KACA,GACH,EACD,GAAM,CACF,IACA,KACA,KACA,GACH,EACD,GAAM,CACF,IACA,IACH,EACD,GAAM,CACF,IACA,IACA,KACA,IACH,EACD,GAAM,CACF,IACA,KACA,IACA,IACH,EACD,GAAM,CACF,IACA,GACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,SAAU,CACN,IACA,KACA,KACA,GACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,SAAU,CACN,IACA,KACA,IACA,IACH,EACD,QAAS,CACL,IACA,KACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,KACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,KACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,KACA,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,IACA,IACA,IACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,KACA,IACA,GACH,EACD,QAAS,CACL,KACA,IACA,KACA,GACH,EACD,QAAS,CACL,KACA,IACA,GACH,EACD,QAAS,CACL,IACA,KACA,KACA,GACR,CACA,ECh4CO,SAASC,GAAe9B,EAAUjjE,EAAQ,CAE7C,QADIglE,EAAe,GACVC,EAAa,EAAGA,EAAahC,EAAS,OAAQgC,IAAc,CACjE,IAAIC,EAAcjC,EAAS,OAAOgC,CAAU,EAC5C,GAAIC,IAAgB,IAAK,CAErB,QADIC,EAAc,EACXF,EAAa,EAAIhC,EAAS,QAC7BA,EAAS,OAAOgC,EAAa,CAAC,IAAMC,GACpCC,IACAF,IAEJ,IAAIG,EAAU,GAAKD,EAAc,GAC7BE,EAAeF,EAAc,EAAI,EAAI,GAAKA,GAAe,GACzDG,EAAgB,IAChBC,EAAWC,GAA+BxlE,CAAM,EAIpD,KAHIulE,GAAY,KAAOA,GAAY,OAC/BF,EAAe,GAEZA,KAAiB,GACpBL,GAAgBM,EAEpB,KAAOF,KAAY,GACfJ,EAAeO,EAAWP,CAE1C,MACiBE,IAAgB,IACrBF,GAAgB,IAGhBA,GAAgBE,CAE5B,CACI,OAAOF,CACX,CAMA,SAASQ,GAA+BxlE,EAAQ,CAC5C,IAAIylE,EAAYzlE,EAAO,UASvB,GARIylE,IAAc,QAEdzlE,EAAO,YAEPA,EAAO,WAAW,SAElBylE,EAAYzlE,EAAO,WAAW,CAAC,GAE/BylE,EACA,OAA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AM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACLA,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,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACpBA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACNA,IAAM,OACLA,GAAK,OAAUA,GAAK,OACrBA,IAAM,OACNA,IAAM,OACNA,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J,EAAQ,CAAE,EAEhB,GACEA,EAAM,KAAKozJ,EAAQ,KAAK,IAAI,CAAC,QACtB,KAAK,oBAAoBE,CAAa,GAE/C,OAAOtzJ,CACX,CAEE,cAAe,CACb,KAAM,CAAE,UAAAuzJ,GAAc,KAAK,SAErB52J,EAAQ,KAAK,OAAO,QAAS,EAEnC,GAAIA,EAAM,OAASiyJ,GAAU,MAC3B,EAAE,KAAK,cAEH2E,IAAc,QAAa,KAAK,cAAgBA,GAClD,MAAM/G,GACJ,KAAK,OAAO,OACZ7vJ,EAAM,MACN,+BAA+B42J,CAAS,2BACzC,CAGT,CACA,CAKA,SAAST,GAAan2J,EAAO,CAC3B,MAAMX,EAAQW,EAAM,MACpB,OAAOs2J,GAAiBt2J,EAAM,IAAI,GAAKX,GAAS,KAAO,KAAKA,CAAK,IAAM,GACzE,CAKA,SAASi3J,GAAiBllD,EAAM,CAC9B,OAAOkhD,IAAsBlhD,CAAI,EAAI,IAAIA,CAAI,IAAMA,CACrD,CCx/CO,SAASylD,IAAYh9H,EAAK,CAC/B,MAAO,IAAIA,EAAI,QAAQi9H,IAAeC,GAAe,CAAC,GACxD,CAEA,MAAMD,IAAgB,gCAEtB,SAASC,IAAgBl9H,EAAK,CAC5B,OAAOm9H,IAAgBn9H,EAAI,WAAW,CAAC,CAAC,CAC1C,CAEA,MAAMm9H,IAAkB,CACtB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,MACA,MACA,UACA,MACA,MACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,GACA,MACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,OACA,GACA,GACA,G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AWA,EAAS,MAAM,EAAGxzI,CAAG,EAChC,QAAS4zI,KAAaD,EACdC,GAAa5qI,GACjB,OAAOkqI,GAA4BU,CAAS,EAE5C5qI,GAAQwqI,EAAS,QAAQxqI,CAAI,GAAK,KAClC,OAAOkqI,GAA4BM,EAASA,EAAS,OAAS,CAAC,CAAC,EAChEA,EAAS,OAAO,GAAI,EAAGxqI,CAAI,GAE3BopI,GAA0C,IAAI,aAAcc,EAA2B,CACnG,CACI,OAAOM,CACX,CACA,IAAIK,GAA2C,CAC3C,IAAKV,IACL,IAAKE,IACL,SAAUJ,EACd,EAGIa,GAA4B,CAAE,EAClCA,GAA4B,KAAK,MAAM,sjBAAgkB,EAGvmB,IAAIC,GAA2C,CAC3C,UAAW,CACP,MAAO,EACV,EACD,aAAc,CACV,MAAO,EACV,EACD,kBAAmB,CACf,MAAO,IACV,EACD,kBAAmB,CACf,MAAO,MACV,EACD,gBAAiB,CACb,MAAO,EACV,EACD,UAAW,CACP,MAAO,EACV,EACD,aAAc,CACV,MAAO,GACP,QAAS,CACL,EACA,EACA,EACA,EACA,EACA,GACA,GACA,KACA,GACA,KACA,GACA,EACZ,CACK,EACD,aAAc,CACV,MAAO,EACV,EACD,MAAO,CACH,MAAO,OACP,QAAS,CACL,OACA,UACA,OACZ,CACK,EACD,OAAQ,CACJ,MAAO,KACP,QAAS,CACL,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACZ,CACK,EACD,gBAAiB,CACb,MAAO,CACV,EACD,YAAa,CACT,MAAO,MACP,QAAS,CACL,MACA,SACA,MACZ,CACK,EACD,eAAgB,CACZ,MAAO,EACV,EACD,eAAgB,CACZ,MAAO,IACV,EACD,QAAS,CACL,MAAO,CACV,EACD,aAAc,CACV,MAAO,IACV,EACD,gBAAiB,CACb,MAAO,SACP,QAAS,CACL,MACA,SACA,MACZ,CACK,EACD,eAAgB,CACZ,MAAO,SACP,QAAS,CACL,SACA,SACA,MACZ,CACK,EACD,IAAK,CACD,MAAO,SACP,QAAS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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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","names":["EventListener","eventTarget","eventName","eventOptions","binding","event","extendedEvent","extendEvent","left","right","leftIndex","rightIndex","stopImmediatePropagation","Dispatcher","application","eventListener","listeners","map","clearEventListeners","error","message","detail","eventListenerMap","cacheKey","parts","key","defaultActionDescriptorFilters","value","element","descriptorPattern","parseActionDescriptorString","descriptorString","matches","keyFilter","parseEventTarget","parseEventOptions","eventTargetName","options","token","stringifyEventTarget","camelize","_","char","namespaceCamelize","capitalize","dasherize","tokenize","isSomething","object","hasProperty","property","allModifiers","Action$2","index","descriptor","schema","getDefaultEventNameForElement","eventFilter","filters","standardFilter","params","pattern","name","match","typecast","meta","ctrl","alt","shift","modifier","defaultEventNames","e","tagName","Binding","context","action","actionEvent","method","actionDescriptorFilters","controller","passes","filter","target","currentTarget","identifier","ElementObserver","delegate","mutations","callback","mutation","attributeName","nodes","node","tree","processor","AttributeObserver","add","fetch","del","prune","values","Multimap","set","size","_key","_values","SelectorObserver","selector","details","selectors","_attributeName","matchedBefore","StringMapObserver","oldValue","attribute","TokenListObserver","unmatchedTokens","matchedTokens","tokens","previousTokens","currentTokens","firstDifferingIndex","zip","previousToken","currentToken","tokensAreEqual","tokenString","parseTokenString","content","length","ValueListObserver","parseResult","valuesByToken","BindingObserver","Action","ValueObserver","receiver","defaultValue","writer","rawValue","rawOldValue","changedMethodName","changedMethod","valueDescriptorMap","descriptors","hasMethodName","TargetObserver","_a","readInheritableStaticArrayValues","constructor","propertyName","ancestors","getAncestorsForConstructor","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","definition","OutletObserver","outletName","observer","_selector","outlet","hasOutlet","hasOutletController","_element","selectorObserver","attributeObserver","dependencies","module","identifiers","Context$1","scope","functionName","methodName","args","bless","shadow","getBlessedProperties","properties","shadowConstructor","extend","shadowProperties","getShadowProperties","blessedProperties","blessing","prototype","getOwnKeys","getShadowedDescriptor","shadowingDescriptor","extendWithReflect","extended","testReflectExtension","b","blessDefinition","Module","Context","ClassMap","DataMap","Guide","logger","warnedKeys","attributeValueContainsToken","TargetSet","targetName","targetNames","targets","targetDescriptor","revisedAttributeName","OutletSet","controllerElement","outletNames","outlets","controllerAttribute","Scope","ScopeObserver","scopesByIdentifier","referenceCount","Router","contexts","afterLoad","defaultSchema","objectFromEntries","c","n","array","memo","k","v","Application","domReady","controllerConstructor","head","rest","resolve","ClassPropertiesBlessing","classDefinition","propertiesForClassDefinition","classes","OutletPropertiesBlessing","outletDefinition","propertiesForOutletDefinition","getOutletController","getControllerAndEnsureConnectedScope","outletController","camelizedName","outletElement","TargetPropertiesBlessing","targetDefinition","propertiesForTargetDefinition","ValuePropertiesBlessing","valueDefinitionPairs","propertyDescriptorMap","result","valueDefinitionPair","valueDescriptor","parseValueDefinitionPair","propertiesForValueDefinitionPair","read","write","typeDefinition","valueDescriptorForTokenAndTypeDefinition","parseValueTypeConstant","constant","parseValueTypeDefault","parseValueTypeObject","payload","typeObject","hasType","hasDefault","fullObject","onlyType","onlyDefault","typeFromObject","typeFromDefaultValue","propertyPath","parseValueTypeDefinition","typeFromConstant","type","defaultValueForDefinition","defaultValuesByType","constantFromType","readers","writers","writeString","writeJSON","Controller$2","_identifier","_application","prefix","bubbles","cancelable","Controller","submitter","validateSubmitter","form","raise","errorConstructor","submittersByForm","findSubmitterFromClickTarget","candidate","clickCaptured","prototypeOfSubmitEvent","FrameLoadingStyle","_FrameElement","__publicField","frameLoadingStyleFromString","_b","FrameElement","style","drive","activateScriptElement","createdScriptElement","cspNonce","getCspNonce","copyElementAttributes","destinationElement","sourceElement","createDocumentFragment","html","template","dispatch","cancelEvent","nextRepaint","nextEventLoopTick","nextAnimationFrame","nextMicrotask","parseHTMLDocument","unindent","strings","lines","interpolate","indent","line","string","uuid","i","getAttribute","elements","hasAttribute","markAsBusy","clearBusyState","waitForLoad","timeoutInMilliseconds","onComplete","getHistoryMethodForAction","isAction","getVisitAction","getMetaElement","getMetaContent","nonce","setMetaContent","findClosestRecursively","elementIsFocusable","queryAutofocusableElement","elementOrDocumentFragment","around","reader","before","after","doesNotTargetIFrame","findLinkFromClickTarget","getLocationForLink","link","expandURL","debounce","fn","delay","timeoutId","Config$2","config","__privateAdd","_submitter","__privateGet","__privateSet","forms","Config","locatable","getAnchor","url","anchorMatch","getAction$1","getExtension","getLastPathComponent","isPrefixedBy","baseURL","getPrefix","locationIsVisitable","location","rootLocation","getRequestURL","anchor","toCacheKey","urlsAreEqual","getPathComponents","addTrailingSlash","FetchResponse$1","response","LimitedSet","maxSize","oldestValue","recentRequests","nativeFetch","fetchWithTurboHeaders","modifiedHeaders","requestUID","fetchMethodFromString","FetchMethod","fetchEnctypeFromString","encoding","FetchEnctype","FetchRequest$1","requestBody","enctype","_FetchRequest_instances","_resolveRequestPromise","_value","body","buildResourceAndBody","fetchBody","fetchMethod","fetchOptions","__privateMethod","allowRequestToBeIntercepted_fn","willDelegateErrorHandling_fn","fetchResponse","FetchResponse","isSafe","mimeType","requestInterception","resource","searchParams","entriesExcludingFiles","mergeIntoURLSearchParams","entries","AppearanceObserver","lastEntry","StreamMessage","fragment","importStreamElements","streamElement","inertScriptElement","PREFETCH_DELAY","PrefetchCache","_prefetchTimeout","_prefetched","request","ttl","cacheTtl","prefetchCache","FormSubmissionState","FormSubmission","formElement","mustRedirect","getMethod","getAction","getFormAction","buildFormData","getEnctype","FetchRequest","initialized","requesting","confirmationMessage","stopping","stopped","getCookieValue","_request","responseSucceededWithoutRedirect","input","formData","cookieName","cookie","formElementAction","formAction","Snapshot","queryPermanentElementsAll","id","getPermanentElementById","snapshot","permanentElementMap","currentPermanentElement","newPermanentElement","FormSubmitObserver","submissionDoesNotDismissDialog","submissionDoesNotTargetIFrame","View","_resolveRenderPromise","_resolveInterceptionPromise","x","y","renderer","isPreview","shouldRender","willRender","shouldInvalidate","renderInterception","reason","direction","FrameView","LinkInterceptor","_event","LinkClickObserver","FormLinkClickObserver","originalEvent","turboFrame","turboAction","turboConfirm","Bardo","bardo","permanentElement","placeholder","createPlaceholderForPermanentElement","clone","Renderer","currentSnapshot","newSnapshot","_activeElement","reject","currentElement","newElement","FrameRenderer","destinationRange","frameElement","sourceRange","renderElement","block","readScrollLogicalPosition","behavior","readScrollBehavior","activatedScriptElement","Idiomorph","EMPTY_SET","defaults","noOp","elt","morph","oldNode","newContent","parseContent","normalizedContent","normalizeContent","ctx","createMorphContext","morphNormalizedContent","normalizedNewContent","oldHead","newHead","promises","handleHeadElement","morphChildren","bestMatch","findBestNodeMatch","previousSibling","nextSibling","morphedNode","morphOldNodeTo","insertSiblings","ignoreValueOfActiveElement","possibleActiveElement","isSoftMatch","syncNodeFrom","newParent","oldParent","nextNewChild","insertionPoint","newChild","removeIdsFromConsideration","isIdSetMatch","idSetMatch","findIdSetMatch","removeNodesBetween","softMatch","findSoftMatch","tempNode","removeNode","ignoreAttribute","attr","to","updateType","from","fromAttributes","toAttributes","fromAttribute","toAttribute","syncInputValue","syncBooleanAttribute","ignoreUpdate","fromValue","toValue","newHeadTag","currentHead","added","removed","preserved","nodesToAppend","headMergeStyle","srcToNewHeadNodes","newHeadChild","currentHeadElt","inNewContent","isReAppended","isPreserved","newNode","newElt","promise","_resolve","removedElement","mergeDefaults","finalConfig","createIdMap","node1","node2","getIdIntersectionCount","startInclusive","endExclusive","newChildPotentialIdCount","potentialMatch","otherMatchCount","potentialSoftMatch","siblingSoftMatchCount","parser","contentWithSvgsRemoved","htmlElement","dummyParent","stack","bestElement","score","newScore","scoreElement","isIdInConsideration","idIsWithinNode","targetNode","idSet","sourceSet","matchCount","populateIdMapForNode","idMap","nodeParent","idElements","current","oldContent","morphElements","callbacks","DefaultIdiomorphCallbacks","beforeNodeMorphed","_beforeNodeMorphed","mutationType","MorphingFrameRenderer","_ProgressBar","ProgressBar","HeadSnapshot","elementIsNoscript","elementWithoutNonce","outerHTML","elementType","elementIsTracked","matchedType","tracked","elementIsMetaElementWithName","elementIsScript","elementIsStylesheet","PageSnapshot","documentElement","headSnapshot","clonedElement","selectElements","clonedSelectElements","source","option","clonedPasswordInput","root","ViewTransitioner","_viewTransitionStarted","_lastOperation","useViewTransition","render","defaultOptions","TimingMetric","VisitState","SystemStatusCode","Direction","Visit","restorationIdentifier","historyChanged","referrer","snapshotHTML","visitCachedSnapshot","updateHistory","shouldCacheSnapshot","acceptsStreamResponse","actionForHistory","statusCode","isSuccessful","responseHTML","_response","redirected","_error","scrollPosition","metric","BrowserAdapter","session","visit","_visit","_formSubmission","CacheObserver","FrameRedirector","_FrameRedirector_instances","_location","shouldRedirect_fn","frame","findFrameElement_fn","shouldSubmit_fn","History","turbo","restorationIndex","state","additionalData","restorationData","LinkPrefetchObserver","_LinkPrefetchObserver_instances","_prefetchedLink","_enable","_tryToPrefetchRequest","_cancelRequestIfObsolete","_tryToUsePrefetchedRequest","isPrefetchable_fn","fetchRequest","cacheTtl_get","_cancelPrefetchRequest","cached","turboFrameTarget","unfetchableLink","linkToTheSamePage","linkOptsOut","nonSafeLink","eventPrevented","turboPrefetchParent","turboMethod","isUJS","Navigator","_Navigator_instances","formSubmission","visitOptions","getActionForFormSubmission_fn","currentAnchor","isRestorationToTop","oldURL","newURL","getDefaultAction_fn","PageStage","PageObserver","readyState","ScrollObserver","position","StreamMessageRenderer","getPermanentElementMapForFragment","withAutofocusFromFragment","withPreservedFocus","permanentElementsInDocument","permanentElementInDocument","elementInStream","generatedID","turboStreams","elementWithAutofocus","firstAutofocusableElementInStreams","willAutofocusId","elementToAutofocus","activeElementBeforeRender","activeElementAfterRender","restoreFocusTo","elementToFocus","nodeListOfStreamElements","StreamObserver","_started","fetchResponseFromEvent","fetchResponseIsStream","ErrorRenderer","replaceableElement","parentNode","PageRenderer","_PageRenderer_instances","setLanguage_fn","mergedHeadElements","newStylesheetElements","loadingElements","newHeadElements","elementList","lang","MorphingPageRenderer","canRefreshFrame","SnapshotCache","PageView","rendererClass","cachedSnapshot","Preloader","snapshotCache","_preloadAll","Cache","_Cache_instances","setCacheControl_fn","Session","_pageRefreshDebouncePeriod","adapter","requestId","isUnsafe","isStream","frameTarget","extendURLWithDeprecatedProperties","defaultPrevented","_snapshot","_isPreview","renderMethod","ev","newBody","timing","submitterIsNavigatable","container","withinFrame","deprecatedLocationPropertyDescriptors","cache","navigator$1","start","registerAdapter","connectStreamSource","disconnectStreamSource","renderStreamMessage","clearCache","setProgressBarDelay","setConfirmMethod","confirmMethod","setFormMode","mode","Turbo","TurboFrameMissingError","FrameController","_FrameController_instances","_fetchResponse","_currentFetchRequest","_resolveVisitPromise","_connected","_hasBeenLoaded","_ignoredAttributes","_shouldMorphFrame","loadSourceURL_fn","isIgnoringChangesTo_fn","refresh","src","document","loadFrameResponse_fn","handleUnvisitableFrameResponse_fn","shouldInterceptNavigation_fn","navigateFrame_fn","newFrame","_renderMethod","_newElement","pageSnapshot","activateElement","sourceURL","ignoringChangesToAttribute_fn","visit_fn","newFrameElement","willHandleFrameMissingFromResponse_fn","handleFrameMissingFromResponse_fn","withCurrentNavigationElement_fn","visitResponse_fn","throwFrameMissingError_fn","wrapped","getFrameElementById","formActionIsVisitable_fn","currentURL","StreamActions","targetElement","_StreamElement","_StreamElement_instances","existingChildren","newChildrenIds","actionFunction","raise_fn","StreamElement","StreamSourceElement","l","p","q","r","t","u","w","z","A","a","B","C","D","E","F","G","H","I","J","K","L","M","d","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","calendar_controller","props","Turbo.visit","submitBtn","spinner","futureDateElement","futureDateTime","updatePath","poc","route","data","dialogBody","child","divContainer","overCards","card","overCard","_c","fullCel","div","datetime","pocs","scheduled_at","days","date","messageEl","inputDate","inputId","round","lim","p2b","n2b","b2n","n2p","map$1","hex","h1","h2","eq","isShort","hexParse","str","len","ret","alpha","hexString","HUE_RE","hsl2rgbn","s","hsv2rgbn","hwb2rgbn","rgb","hueValue","max","rgb2hsl","min","calln","hsl2rgb","hwb2rgb","hsv2rgb","hue","hueParse","p1","p2","rotate","deg","hslString","names$1","unpack","unpacked","keys","tkeys","j","ok","nk","names","nameParse","RGB_RE","rgbParse","rgbString","rgb1","rgb2","modHSL","ratio","tmp","proto","fromObject","functionParse","Color","obj","color","weight","c1","c2","w2","w1","val","noop","uid","isNullOrUndef","isArray","isObject","isNumberFinite","finiteOrDefault","valueOrDefault","toPercentage","dimension","toDimension","thisArg","each","loopable","reverse","_elementsEqual","a0","a1","ilen","v0","v1","klen","isValidKey","_merger","tval","sval","merge","sources","merger","mergeIf","_mergerIf","keyResolvers","o","_splitKey","part","_getKeyResolver","resolveObjectKey","_capitalize","defined","isFunction","setsEqual","item","_isClickEvent","PI","TAU","PITAU","INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","almostEquals","epsilon","niceNum","range","roundedRange","niceRange","fraction","_factorize","sqrt","isNumber","almostWhole","rounded","_setMinAndMaxByKey","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","end","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","hi","lo","mid","_lookupByKey","last","ti","_rlookupByKey","_filterBetween","arrayEvents","listenArrayEvents","listener","base","res","unlistenArrayEvents","stub","_arrayUnique","items","requestAnimFrame","throttled","argsToUse","ticking","timeout","_toLeftRightCenter","align","_alignStartEnd","_textX","rtl","_getStartAndCountOfVisiblePoints","points","animationsDisabled","pointCount","count","iScale","_parsed","axis","minDefined","maxDefined","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","changed","atEdge","elasticIn","elasticOut","effects","isPatternOrGradient","getHoverColor","numbers","colors","applyAnimationsDefaults","applyLayoutsDefaults","intlCache","getNumberFormat","locale","formatter","formatNumber","num","formatters","tickValue","ticks","notation","delta","maxTick","calculateDelta","logDelta","numDecimal","remain","Ticks","applyScaleDefaults","_ctx","overrides","getScope$1","Defaults","_descriptors","_appliers","targetScope","scopeObject","targetScopeObject","privateName","local","appliers","apply","toFontString","font","_measureText","gc","longest","textWidth","_longestText","arrayOfThings","jlen","thing","nestedThing","gcLen","_alignPixel","chart","pixel","width","devicePixelRatio","halfWidth","clearCanvas","canvas","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","xOffsetW","yOffsetW","rotation","radius","rad","_isPointInArea","point","area","margin","clipArea","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","setRenderOpts","opts","decorateText","metrics","top","bottom","yDecoration","drawBackdrop","oldColor","renderText","text","stroke","addRoundedRectPath","rect","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","inputs","info","_addGrace","minmax","grace","beginAtZero","change","keepZero","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","finalRootScopes","_cached","_resolveWithPrefixes","getKeysFromAllScopes","storage","_attachContext","proxy","subProxy","descriptorDefaults","_resolveWithContext","_scriptable","_indexable","_allKeys","readKey","needsSubResolver","_proxy","_context","_subProxy","_resolveScriptable","_resolveArray","getValue","_stack","createSubResolver","isIndexable","arr","resolver","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","parsed","EPSILON","getPoint","getValueAxis","indexAxis","splineCurve","firstPoint","middlePoint","afterPoint","next","d01","d12","s01","s12","fa","fb","monotoneAdjust","deltaK","mK","pointsLen","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointAfter","monotoneCompute","valueAxis","pointBefore","iPixel","vPixel","splineCurveMonotone","slopeDelta","capControlPoint","pt","capBezierPoints","inArea","inAreaPrev","inAreaNext","_updateBezierControlPoints","loop","controlPoints","prev","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","getStyle","el","positions","getPositionedStyle","styles","suffix","pos","useOffsetPos","getCanvasPosition","touches","offsetX","offsetY","box","getRelativePosition","currentDevicePixelRatio","borderBox","paddings","borders","height","getContainerSize","maxWidth","maxHeight","containerStyle","containerBorder","containerPadding","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","supportsEventListenerOptions","passiveSupported","readUsedSize","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","getRightToLeftAdapter","rectX","itemWidth","getLeftToRightAdapter","_itemWidth","getRtlAdapter","overrideTextDirection","original","restoreTextDirection","propertyFn","normalizeSegment","getSegment","segment","bounds","startBound","endBound","between","normalize","_boundSegment","compare","inside","subStart","prevValue","startIsBefore","endIsBefore","shouldStart","shouldStop","_boundSegments","segments","sub","findStartAndEnd","spanGaps","solidSegments","cur","_computeSegments","segmentOptions","splitByStyles","completeLoop","doSplitByStyles","chartContext","baseStyle","readStyle","datasetIndex","prevStyle","addStyle","st","dir","styleChanged","replacer","Animator","anims","numSteps","remaining","draw","charts","cb","acc","animator","transparent","interpolators","factor","c0","Animation","cfg","currentValue","elapsed","duration","rej","resolved","Animations","animationOptions","animatedProps","newOptions","resolveTargetOptions","animations","awaitAll","running","animation","anim","scaleClip","scale","allowedOverflow","defaultClip","toClip","getSortedDatasetIndices","filterVisible","metasets","applyStack","dsIndex","singleMode","otherValue","found","convertObjectDataToArray","vScale","iAxisKey","vAxisKey","adata","isStacked","stacked","getStackKey","indexScale","valueScale","getUserBounds","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","positive","updateStacks","iAxis","vAxis","itemStacks","visualValues","getFirstScaleId","scales","createDatasetContext","createDataContext","clearStacks","isDirectUpdateMode","cloneIfNotShared","shared","createStack","canStack","DatasetController","dataset","chooseId","xid","yid","rid","iid","vid","scaleID","_data","resetNewElements","stackChanged","oldStacked","scopeKeys","_stacked","sorted","isNotInOrderComparedToPrev","labels","singleScale","xAxisKey","yAxisKey","parsedValue","otherScale","otherMin","otherMax","_skip","active","drawActiveElementsOnTop","sharing","transition","sharedOptions","firstOpts","previouslySharedOptions","includeOptions","arg1","arg2","numMeta","numData","move","newCount","getAllScaleValues","visibleMetas","computeMinSampleSize","curr","updateMinAndPrev","computeFitCategoryTraits","ruler","stackCount","thickness","computeFlexCategoryTraits","pixels","percent","parseFloatBar","entry","startValue","endValue","barStart","barEnd","parseValue","parseArrayOrPrimitive","isFloatBar","custom","barSign","actualBase","borderProps","setBorderSkipped","edge","parseEdge","swap","startEnd","orig","v2","setInflateAmount","inflateAmount","BarController","bars","reset","horizontal","vpixels","ipixels","dataIndex","currentParsed","iScaleValue","skipNull","barThickness","baseValue","minBarLength","floating","startPixel","endPixel","halfGrid","maxBarThickness","center","stackIndex","rects","BubbleController","getRatioAndOffset","circumference","cutout","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","DoughnutController","getter","chartArea","arcs","spacing","chartWeight","maxRadius","outerRadius","innerRadius","radiusLength","animationOpts","centerX","centerY","animateScale","arc","metaData","total","ringWeightOffset","pointStyle","label","legendItem","legend","LineController","_dataset","maxGapLength","directUpdate","pointsCount","prevParsed","nullData","border","lastPoint","PolarAreaController","minSize","datasetStartAngle","defaultAngle","PieController","RadarController","pointPosition","ScatterController","showLine","controllers","abstract","DateAdapterBase","members","adapters","binarySearch","metaset","intersect","_sorted","lookupMethod","evaluateInteractionItems","handler","getDistanceMetricForAxis","useX","useY","deltaX","deltaY","getIntersectItems","useFinalPosition","includeInvisible","getNearestRadialItems","evaluationFunc","getNearestCartesianItems","distanceMetric","minDistance","inRange","distance","getNearestItems","getAxisItems","rangeMethod","intersectsItem","Interaction","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","wrapBoxes","boxes","layoutBoxes","stackWeight","buildStacks","layouts","wrap","setLayoutDims","vBoxMaxWidth","hBoxMaxHeight","layout","fullSize","buildLayoutBoxes","centerHorizontal","centerVertical","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","newHeight","widthChanged","heightChanged","handleMaxPadding","updatePos","getMargins","marginForPositions","fitBoxes","refitBoxes","refit","same","other","setBoxDims","placeBoxes","userPadding","layoutItem","minPadding","padding","availableWidth","availableHeight","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","BasePlatform","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","isNullOrEmpty","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","eventListenerOptions","addListener","removeListener","fromNativeEvent","nodeListContains","nodeList","createAttachObserver","trigger","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","resize","listenDevicePixelRatioChanges","unlistenDevicePixelRatioChanges","createResizeObserver","releaseObserver","createProxyAndListen","DomPlatform","initial","proxies","_detectPlatform","Element$1","final","autoSkip","tickOpts","determinedMaxTicks","determineMaxTicks","ticksLimit","majorIndices","getMajorIndices","numMajorIndices","first","newTicks","skipMajors","calculateSpacing","avgMajorSpacing","skip","offset","tickLength","maxScale","maxChart","evenMajorSpacing","getEvenSpacing","factors","majorStart","majorEnd","diff","reverseAlign","offsetFromEdge","getTicksLimit","ticksLength","maxTicksLimit","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","garbageCollect","caches","getTickMarkLength","getTitleHeight","createScaleContext","createTickContext","tick","titleAlign","titleArgs","titleX","titleY","positionAxisID","Scale","Element","raw","_userMin","_userMax","_suggestedMin","_suggestedMax","metas","sampleSize","samplingEnabled","reversePixels","numTicks","minRotation","maxRotation","labelRotation","tickWidth","maxLabelDiagonal","labelSizes","maxLabelWidth","maxLabelHeight","titleOpts","gridOpts","display","isHorizontal","titleHeight","widest","highest","tickPadding","angleRadians","cos","sin","labelHeight","labelWidth","isRotated","labelsBelowTicks","offsetLeft","offsetRight","paddingLeft","paddingRight","paddingTop","paddingBottom","widths","heights","widestLabelSize","highestLabelSize","tickFont","fontString","lineHeight","nestedLabel","valueAt","idx","decimal","optionTicks","rot","grid","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","limit","step","optsAtIndex","optsAtIndexBorder","lineWidth","lineColor","borderDash","borderDashOffset","tickColor","tickBorderDash","tickBorderDashOffset","crossAlign","mirror","tickAndPadding","hTickAndPadding","textAlign","lineCount","textOffset","textBaseline","halfCount","strokeColor","strokeWidth","tickTextAlign","backdrop","labelPadding","backgroundColor","drawLine","lastLineWidth","renderTextOptions","title","tz","gz","bz","axisID","fontSize","TypedRegistry","override","parentScope","isIChartComponent","registerDefaults","itemDefaults","routeDefaults","routes","propertyParts","sourceName","sourceScope","Registry","typedRegistry","arg","reg","itemReg","registry","component","camelMethod","PluginService","hook","plugin","all","plugins","allPlugins","createDescriptors","previousDescriptors","localIds","getOpts","pluginOpts","getIndexAxis","datasetDefaults","getAxisFromDefaultScaleID","getDefaultScaleIDFromAxis","idMatchesAxis","axisFromPosition","determineAxis","scaleOptions","getAxisFromDataset","retrieveAxisFromDatasets","boundDs","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","scaleConf","defaultId","defaultScaleOptions","defaultID","initOptions","initData","initConfig","keyCache","keysCached","cachedKeys","generate","addIfFound","Config$1","datasetType","mainScope","resetCache","_scopeCache","keyLists","subPrefixes","getResolver","needContext","subResolver","resolverCache","hasFunction","isScriptable","scriptable","indexable","version","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onAnimationProgress","getCanvas","instances","getChart","moveNumericKeys","intKey","determineLastEvent","lastEvent","inChartArea","isClick","getSizeForArea","field","getDatasetArea","Chart","invalidatePlugins","userConfig","initialCanvas","existingChart","maintainAspectRatio","_aspectRatio","newSize","newRatio","scalesOptions","axisOptions","scaleOpts","updated","isRadial","scaleType","scaleClass","hasUpdated","datasets","newControllers","ControllerClass","datasetElementType","dataElementType","animsDisabled","_active","_lastEvent","existingEvents","newEvents","_hiddenIndices","changes","_dataChanges","datasetCount","makeSet","changeSet","noArea","layers","clip","useClip","visible","platform","_add","_remove","detached","attached","enabled","activeElements","lastActive","pluginId","replay","hoverOptions","deactivated","activated","clipArc","pixelMargin","angleMargin","toRadiusCorners","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","rThetaToXY","theta","pathArc","circular","innerR","spacingOffset","noSpacingInnerRadius","noSpacingOuterRadius","avNogSpacingRadius","adjustedAngle","beta","angleOffset","outerStart","outerEnd","innerStart","innerEnd","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","outerMidAdjustedAngle","pCenter","p4","innerMidAdjustedAngle","p8","outerStartX","outerStartY","outerEndX","outerEndY","drawArc","fullCircles","drawBorder","borderWidth","borderJoinStyle","inner","ArcElement","chartX","chartY","rAdjust","_circumference","nonZeroBetween","betweenAngles","withinRadius","halfAngle","halfRadius","fix","radiusOffset","setStyle","lineTo","getLineMethod","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","fastPathSegment","avgX","countX","prevX","lastY","pointIndex","drawX","truncX","_getSegmentMethod","_getInterpolationMethod","strokePathWithCache","path","strokePathDirect","segmentMethod","usePath2D","LineElement","_interpolate","interpolated","inRange$1","PointElement","mouseX","mouseY","getBarBounds","bar","half","skipOrLimit","parseBorderWidth","maxW","maxH","parseBorderRadius","enableBorderRadius","maxR","enableBorder","boundingRects","skipX","skipY","hasRadius","addNormalRectPath","inflateRect","amount","refRect","BarElement","borderColor","outer","addRectPath","BORDER_COLORS","BACKGROUND_COLORS","getBorderColor","getBackgroundColor","colorizeDefaultDataset","colorizeDoughnutDataset","colorizePolarAreaDataset","getColorizer","containsColorsDefinitions","containsColorsDefinition","containsDefaultColorsDefenitions","plugin_colors","_args","chartOptions","containsColorDefenition","colorizer","lttbDecimation","samples","decimated","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","minMaxDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","cleanDecimatedDataset","cleanDecimatedData","getStartAndCountOfVisiblePointsSimplified","plugin_decimation","xAxis","threshold","_segments","tpoints","_findSegmentEnd","_getBounds","targetSegments","tgt","subBounds","fillSources","fillSource","_getEdge","_pointsFromSegments","boundary","linePoints","_createBoundaryLine","_loop","_shouldApplyFill","_resolveTarget","propagate","fill","visited","_decodeFill","parseFillOption","decodeTargetIndex","firstCh","_getTargetPixel","_getTargetValue","fillOption","_buildStackLine","sourcePoints","linesBelow","getLinesBelow","addPointsBelow","below","sourcePoint","postponed","findPoint","pointValue","firstValue","lastValue","simpleArc","_getTarget","getLineByIndex","computeBoundary","computeCircularBoundary","computeLinearBoundary","_drawfill","lineOpts","above","doFill","clipVertical","clipY","lineLoop","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","getBoxSize","labelOpts","boxHeight","boxWidth","itemsEqual","Legend","legendItems","labelFont","itemHeight","hitboxes","lineWidths","totalHeight","row","_itemHeight","columnSizes","heightLimit","totalWidth","currentColWidth","currentColHeight","col","calculateItemSize","rtlHelper","hitbox","defaultColor","halfFontSize","cursor","drawLegendBox","drawOptions","yBoxTop","xBoxLeft","borderRadius","fillText","realX","fontLineHeight","calculateLegendItemHeight","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","isListened","hoveredItem","sameItem","calculateItemWidth","calculateItemHeight","legendItemText","plugin_legend","ci","usePointStyle","useBorderRadius","Title","textSize","fontOpts","createTitle","plugin_title","titleBlock","plugin_subtitle","positioners","xSet","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","tooltip","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","bodyLineHeight","widthPadding","maxLineWidth","determineYAlign","doesNotFitWithAlign","xAlign","caret","determineXAlign","yAlign","chartWidth","determineAlignment","alignX","alignY","paddingAndSize","getBackgroundPoint","alignment","caretSize","caretPadding","topLeft","topRight","bottomLeft","bottomRight","getAlignedX","getBeforeAfterBodyLines","createTooltipContext","tooltipItems","overrideCallbacks","defaultCallbacks","labelCount","tooltipItem","invokeCallbackWithFallback","beforeTitle","afterTitle","bodyItems","scoped","beforeFooter","afterFooter","labelColors","labelPointStyles","labelTextColors","positionAndSize","backgroundPoint","tooltipPoint","caretPosition","ptX","ptY","x3","y3","titleSpacing","labelColor","labelPointStyle","colorX","rtlColorX","yOffSet","colorY","outerX","innerX","bodySpacing","bodyAlign","displayColors","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","tooltipSize","animX","animY","opacity","hasTooltipContent","positionChanged","caretX","caretY","plugin_tooltip","Tooltip","addIfString","addedLabels","findOrAddLabel","_getLabelForValue","CategoryScale","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","unit","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","decimalPlaces","relativeLabelSize","LinearScaleBase","setMin","setMax","minSign","maxSign","stepSize","numericGeneratorOptions","LinearScale","log10Floor","changeExponent","isMajor","tickVal","steps","rangeExp","rangeStep","startExp","generateTicks","minExp","exp","significand","lastTick","LogarithmicScale","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","limits","valueCount","pointLabelOpts","additionalAngle","plFont","hLimits","vLimits","updateLimits","buildPointLabelItems","createPointLabelItem","itemOpts","outerDistance","extra","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","isNotOverlapped","centerPointLabels","drawPointLabelBox","backdropColor","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","pointLabels","pathRadiusLine","drawRadiusLine","gridLineOpts","createPointLabelContext","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","scaledDistance","pointLabel","distanceFromCenter","angleLines","INTERVALS","UNITS","sorter","parse","isoWeekday","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","addTick","time","timestamps","timestamp","setMajorTicks","majorUnit","major","ticksFromTimestamps","TimeScale","_applyBounds","timeOpts","minor","weekday","hasWeekday","format","formats","fmt","minorFormat","majorFormat","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","displayFormats","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","registerables","chart_controller","cloudinary_uploader_2_controller","signature","err","myWidget","resource_type","public_id","medium","exports","schedulerModule","aa","ca","require$$1","da","ea","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","db","eb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","di","ei","fi","gi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ui","vi","wi","xi","yi","zi","Ai","Bi","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","fl","gl","hl","il","kl","ll","ml","nl","ol","pl","ql","rl","sl","ul","vl","reactDom_production_min","checkDCE","reactDomModule","createRoot","assert","condition","getCSRFToken","tag","formatMediaHolders","mediaHolders","extendStatics","__extends","__","__assign","__rest","__spreadArray","pack","ar","memoize","cacheDefault","serializer","serializerDefault","strategy","strategyDefault","isPrimitive","monadic","computedValue","variadic","assemble","serialize","strategyVariadic","strategyMonadic","ObjectWithoutPrototypeCache","strategies","invariant","Err","_i","ErrorKind","TYPE","SKELETON_TYPE","isLiteralElement","isArgumentElement","isNumberElement","isDateElement","isTimeElement","isSelectElement","isPluralElement","isPoundElement","isTagElement","isNumberSkeleton","isDateTimeSkeleton","SPACE_SEPARATOR_REGEX","DATE_TIME_REGEX","parseDateTimeSkeleton","skeleton","WHITE_SPACE_REGEX","parseNumberSkeletonFromString","stringTokens","stringTokens_1","stringToken","stemAndOptions","stem","options_1","icuUnitToEcma","FRACTION_PRECISION_REGEX","SIGNIFICANT_PRECISION_REGEX","INTEGER_WIDTH_REGEX","CONCISE_INTEGER_WIDTH_REGEX","parseSignificantPrecision","g1","g2","parseSign","parseConciseScientificAndEngineeringStem","signDisplay","parseNotationOptions","opt","signOpts","parseNumberSkeleton","tokens_1","g3","g4","g5","conciseScientificAndEngineeringOpts","timeData","getBestPattern","skeletonCopy","patternPos","patternChar","extraLength","hourLen","dayPeriodLen","dayPeriodChar","hourChar","getDefaultHourSymbolFromLocale","hourCycle","languageTag","regionTag","hourCycles","SPACE_SEPARATOR_START_REGEX","SPACE_SEPARATOR_END_REGEX","createLocation","hasNativeStartsWith","hasNativeFromCodePoint","hasNativeFromEntries","hasNativeCodePointAt","hasTrimStart","hasTrimEnd","hasNativeIsSafeInteger","isSafeInteger","REGEX_SUPPORTS_U_AND_Y","RE","startsWith","search","fromCodePoint","codePoints","code","fromEntries","entries_1","codePointAt","second","trimStart","trimEnd","flag","matchIdentifierAtIndex","IDENTIFIER_PREFIX_RE_1","_isWhiteSpace","_isPatternSyntax","Parser","nestingLevel","parentArgType","expectingCloseTag","_isAlpha","startPosition","childrenResult","children","endTagStartPosition","closingTagNameStartPosition","closingTagName","startOffset","_isPotentialElementNameChar","parseQuoteResult","parseUnquotedResult","parseLeftAngleResult","_isAlphaOrSlash","openingBracePosition","startingPosition","endOffset","endPosition","typeStartPosition","argType","typeEndPosition","styleAndLocation","styleStartPosition","styleLocation","argCloseResult","location_1","dateTimePattern","typeEndPosition_1","identifierAndLocation","pluralOffset","optionsResult","location_2","nestedBraces","apostrophePosition","expectCloseTag","parsedFirstIdentifier","hasOtherClause","parsedSelectors","selectorLocation","fragmentResult","expectNumberError","invalidNumberError","hasDigits","kind","currentOffset","targetOffset","nextCode","codepoint","pruneLocation","els","ErrorCode","FormatError","_super","msg","originalMessage","_this","InvalidValueError","variableId","InvalidValueTypeError","MissingValueError","PART_TYPE","mergeLiteral","lastPart","isFormatXMLElementFn","formatToParts","locales","currentPluralValue","els_1","varName","value_1","formatFn","chunks","rule","mergeConfig","mergeConfigs","defaultConfig","configs","createFastMemoizeCache","store","createDefaultFormatters","IntlMessageFormat","overrideFormats","parseOpts","supportedLocales","IntlErrorCode","IntlError","exception","UnsupportedFormatterError","InvalidConfigError","MissingDataError","IntlFormatError","MessageFormatError","MissingTranslationError","filterProps","allowlist","filtered","defaultErrorHandler","defaultWarnHandler","warning","DEFAULT_INTL_CONFIG","createIntlCache","createFormatters","RelativeTimeFormat","ListFormat","DisplayNames","getDateTimeFormat","getPluralRules","getNamedFormat","onError","formatType","setTimeZoneInOptions","timeZone","deepMergeOptions","opts1","opts2","deepMergeFormatsAndSetTimeZone","f1","mfFormats","formatMessage","messageDescriptor","messages","defaultLocale","defaultFormats","fallbackOnEmptyString","defaultRichTextElements","msgId","defaultMessage","DATE_TIME_FORMAT_OPTIONS","getFormatter","filteredOptions","formatDate","formatTime","formatDateTimeRange","formatDateToParts","formatTimeToParts","DISPLAY_NAMES_OPTONS","formatDisplayName","getDisplayNames","LIST_FORMAT_OPTIONS","now","generateToken","formatList","getListFormat","results","formatListToParts","richValues_1","serializedValues","PLURAL_FORMAT_OPTIONS","formatPlural","RELATIVE_TIME_FORMAT_OPTIONS","getRelativeTimeFormat","formatRelativeTime","NUMBER_FORMAT_OPTIONS","formatNumberToParts","messagesContainString","firstMessage","verifyConfigMessages","createIntl","resolvedConfig","invariantIntlContext","intl","CORE_DEFAULT_INTL_CONFIG","React.Fragment","assignUniqueKeysToParts","formatXMLElementFn","React.Children","shallowEqual","objA","objB","aKeys","bKeys","reactIs_production_min","reactIsModule","reactIs","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","IntlContext","React.createContext","IntlProvider","Provider","useIntl","React.useContext","DisplayName","DisplayNameParts","createFormattedDateTimePartsComponent","ComponentParts","formatProps","formattedParts","createFormattedComponent","Component","formattedValue","Text","React.createElement","assignUniqueKeysToFormatXMLElementFnArgument","rawValues","coreFormatMessage","rawDefaultRichTextElements","coreIntl","coreCreateIntl","processIntlConfig","prevConfig","React.PureComponent","areEqual","prevProps","nextProps","otherProps","nextValues","nextOtherProps","FormattedMessage","description","ignoreTag","MemoizedFormattedMessage","React.memo","stringifiable","isProduction","hasOwnProperty","splice","toString","assign","getAllKeys","copy","defaultCommands","directive","$spec","spec","nextObject","objectWasNextObject","nextValueForKey","nextObjectValue","invariantPushAndUnshift","originalObject","invariantSplices","invariantSplice","_nextObject","invariantSet","invariantSpecArray","nextObjectCopy","_spec","invariantMapOrSet","invariantMerge","invariantApply","defaultContext","command","specValue","typeOfTarget","commonjsGlobal","lodash_clonedeep","LARGE_ARRAY_SIZE","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","addMapEntry","pair","addSetEntry","arrayEach","iteratee","arrayPush","arrayReduce","accumulator","initAccum","baseTimes","isHostObject","mapToArray","overArg","func","transform","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","objectToString","reIsNative","Buffer","Symbol","Uint8Array","getPrototype","objectCreate","propertyIsEnumerable","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","arrayLikeKeys","inherited","isArguments","skipIndexes","isIndex","assignValue","objValue","baseAssign","copyObject","baseClone","isDeep","isFull","customizer","isArr","initCloneArray","copyArray","getTag","isFunc","isBuffer","cloneBuffer","initCloneObject","copySymbols","initCloneByTag","subValue","baseCreate","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","baseIsNative","isMasked","baseKeys","isPrototype","buffer","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","regexp","cloneSet","cloneSymbol","symbol","cloneTypedArray","typedArray","newValue","getSymbols","isKeyable","stubArray","Ctor","ctorString","cloneDeep","isArrayLikeObject","isArrayLike","isLength","isObjectLike","stubFalse","__assign$1","__awaiter","_arguments","generator","adopt","fulfilled","rejected","__generator","verb","op","pluginCloudinaryAsset","pluginState","analyticsOptions","getAnalyticsOptions","features","HtmlImageLayer","userCloudinaryImage","baseAnalyticsOptions","pluginCloudinaryImage","pluginResponse","featuredAnalyticsOptions","QualifierValue$1","qualifierValue","delimiter","createUnsupportedError","UnsupportedError","qualifierToJson","QualifierModel$1","QualifierModel","QualifierValue","Qualifier","flagType","flagValue","mapToSortedArray","flags","actionToJson","actionModelIsNotEmpty","sourceTransformationError","ActionModel$1","ActionModel","qualifier","FlagQualifier","qualifierKey","NamedRegion","CustomRegion","model","customRegion","faces","ocr$1","BlurAction","strength","blurRegion","actionModel","region","objectFlip","ACTION_TYPE_TO_CROP_MODE_MAP","ACTION_TYPE_TO_DELIVERY_MODE_MAP","ACTION_TYPE_TO_EFFECT_MODE_MAP","ACTION_TYPE_TO_QUALITY_MODE_MAP","ACTION_TYPE_TO_STREAMING_PROFILE_MODE_MAP","CHROMA_VALUE_TO_CHROMA_MODEL_ENUM","COLOR_SPACE_MODEL_MODE_TO_COLOR_SPACE_MODE_MAP","CHROMA_MODEL_ENUM_TO_CHROMA_VALUE","CROP_MODE_TO_ACTION_TYPE_MAP","DELIVERY_MODE_TO_ACTION_TYPE_MAP","EFFECT_MODE_TO_ACTION_TYPE_MAP","SimpleEffectAction","effectType","level","qualifierEffect","actionType","LeveledEffectAction","prepareColor","VectorizeEffectAction","paths","cornersLevel","despeckleLevel","detailLevel","numOfColors","EffectActionWithLevel","AssistColorBlindEffectAction","stripesStrength","ColorizeEffectAction","Pixelate","squareSize","pixelateRegion","blur","blurLevel","grayscale","colorize","colorizeLevel","vectorize","assistColorBlind","pixelate","RawAction$1","isErrorObject","errorObj","ignoreInitialAspectRatio","lossy","preserveTransparency","progressive","regionRelative","relative","deliveryKey","deliveryType","modelProperty","deliveryTypeValue","FormatQualifier","DeliveryAction","ProgressiveQualifier","Transformation$1","Transformation","actionToAdd","RawAction","tx","animatedAction","borderAction","reshapeAction","resizeAction","quality","DeliveryFormatAction","roundCornersAction","overlayAction","underlayAction","variableAction","conditionAction","effectAction","rotateAction","namedTransformation","deliveryAction","BackgroundColor","flagQualifier","flagToAdd","customFunction","actions","json","toFloatAsString","returnValue","cropType","cropWidth","cropHeight","AspectRatioQualifierValue","dimensions","cropMode","GravityQualifier","AutoFocusObjects","FocusOnObjects","compass","CompassGravity","focusOn","FocusOnGravity","autoGravity","AutoGravity","ocr","FocusOnValue","isIAutoGravityString","gravity","isCompassGravity","gravityValue","getGravityValue","createCompassGravityModel","isOcrGravity","createOcrGravityModel","isAutoGravity","createIAutoFocusObject","createAutoGravityModel","gravityQualifier","createFocusOnGravityModel","hasAutoGravity","autoFocusObjects","autoGravityInstance","createFocusOnGravity","focusOnValues","createGravityModel","AutoFocus","isCompassGravityModel","gravityModel","isOcrGravityModel","isAutoGravityModel","createAutoFocusFromModel","autoGravityObjectModel","avoid","autoFocus","createAutoGravityFromModel","createFocusOnGravityFromModel","focusOnObjects","createGravityFromModel","CompassQualifier","ResizeSimpleAction","BackgroundQualifier","backgroundValue","DEFAULT_INTENSITY","DEFAULT_BRIGHTNESS","BlurredBackgroundAction","intensity","brightness","BlurredBackgroundAction$1","BaseCommonBackground","BackgroundAutoBorderQualifier","BaseGradientBackground","BackgroundBorderGradientQualifier","BackgroundPredominantGradientQualifier","BackgroundAutoPredominantQualifier","BackgroundGenerativeFillQualifier","prompt","getBackgroundValue","background","createAutoBackgroundModel","createBlurredBackgroundModel","intensityLevel","brightnessLevel","createContrastPaletteBackgroundModel","contrast","palette","createBorderBackgroundModel","createBaseGradientBackgroundModel","gradientColors","gradientDirection","createBorderGradientBackgroundModel","createColorBackgroundModel","createPredominantBackgroundModel","createPredominantGradientBackgroundModel","createGenerativeFillBackgroundModel","createBackgroundModel","svg","auto$1","auto","borderGradient","predominantGradient","predominant","colorStr","blurred","generativeFill","Background","createBlurredBackground","backgroundModel","createGradientBackground","createContrastPaletteBackground","createGenerativeFillBackground","createBackgroundFromModel","backgroundType","ResizePadAction","ResizeAdvancedAction","backgroundQualifier","crop","ResizeCropAction","ResizeFillAction","pad","DeliveryQualityAction","qualityValue","qualityWithSubSampling","qualityWithQuantization","chromaSubSampling","quantization","levelType","chromaValue","qualityType","northEast","VIDEO_MIME_TYPES","ANALYTICS_DELIMITER","HtmlVideoLayer","userCloudinaryVideo","videoAttributes","userCloudinaryPoster","videoOptions","pluginCloudinaryVideo","defaultTypes","codecs","transcode","shouldUseFetchFormat","srcParts","analyticsStr","ext","posterCloudinaryVideo","updatedCloudinaryVideo","sourcesToDelete","isBrowser","serverSideSrc","serverCloudinaryImage","clonedServerCloudinaryImage","cancelCurrentlyRunningPlugins","react","getOwnPropertySymbols","propIsEnumerable","toObject","shouldUseNative","test1","test2","order2","test3","letter","objectAssign","symbols","React","SDKAnalyticsConstants","AdvancedImage","VIDEO_ATTRIBUTES_KEYS","AdvancedVideo","innerRef","videoAttrs","userProvidedConfig","validKeys","ALLOWED_URL_CONFIG","URLConfig","userURLConfig","urlConfig","ImageTransformation","VideoTransformation","ResizeScaleAction","ThumbResizeAction","thumbnail","isUrl","publicID","isFileName","publicIDContainsVersion","getUrlPrefix","cloudName","secure","privateCDN","cname","secureDistribution","handleAssetType","assetType","handleDeliveryType","getUrlVersion","forceVersion","shouldForceVersion","stringPad","_targetLength","_padString","targetLength","padString","repeatStringNumTimes","_times","times","repeatedString","chars","base64Map","reverseVersion","semVer","padVersion","asNumber","encodeVersion","strResult","paddedStringLength","reversedSemver","paddedSemver","paddedBinary","bitString","packageVersion","encodeOSVersion","binaryMajorVersion","binaryMinorVersion","paddedMajor","paddedMinor","getNodeVersion","failedVersion","ensureShapeOfTrackedProperties","trackedAnalytics","getSDKAnalyticsSignature","_trackedAnalytics","twoPartVersion","removePatchFromSemver","encodedSDKVersion","encodedTechVersion","encodedOSVersion","featureCode","SDKCode","product","osType","semVerStr","SEO_TYPES","CloudinaryFile","cloudConfig","newType","newSuffix","newVersion","overwriteOptions","suffixContainsDot","suffixContainsSlash","hasSuffix","regularSEOType","shortSEOType","useRootPath","shorten","transformation","transformationString","safeURL","shouldAddAnalytics","queryParamsString","queryParams","CloudinaryTransformable","animated","reshape","roundCorners","conditionalAction","effect","CloudinaryImage","CloudinaryVideo","Cloudinary","cloudinaryConfig","DndContext","reactJsxRuntime_production_min","jsxRuntimeModule","formatProdErrorMessage","$$observable","randomString","ActionTypes","isPlainObject","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","isSubscribed","replaceReducer","nextReducer","observable","_ref","outerSubscribe","observeState","unsubscribe","argIndex","get","without","xor","itemsA","itemsB","insertItem","intersection","INIT_COORDS","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","DROP","END_DRAG","setClientOffset","clientOffset","sourceClientOffset","ResetCoordinatesAction","createBeginDrag","manager","sourceIds","publishSource","getSourceClientOffset","monitor","verifyInvariants","sourceId","getDraggableSource","verifyGetSourceClientOffsetIsFunction","verifyItemIsObject","itemType","_defineProperty","_objectSpread","ownKeys","sym","createDrop","getDroppableTargets","targetId","dropResult","determineDropResult","verifyDropResultType","targetIds","createEndDrag","verifyIsDragging","matchesType","targetType","draggedItemType","createHover","targetIdsArg","verifyTargetIdsIsArray","removeNonMatchingTargetIds","checkInvariants","hoverAllTargets","createPublishDragSource","createDragDropActions","DragDropManagerImpl","backend","bindActionCreator","actionCreator","boundActions","shouldSetUp","subtract","initialClientOffset","initialSourceClientOffset","getDifferenceFromInitialOffset","NONE","ALL","areDirty","dirtyIds","handlerIds","DragDropMonitorImpl","prevStateId","handleChange","currentStateId","previousState","nextState","sourceType","shallow","BrowserMutationObserver","makeRequestCallFromTimer","timeoutHandle","handleTimer","intervalHandle","makeRequestCallFromMutationObserver","toggle","makeRequestCall","AsapQueue","task","requestFlush","currentIndex","scan","newLength","RawTask","release","TaskFactory","tasks","t1","asapQueue","taskFactory","asap","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","addSource","addTarget","removeSource","removeTarget","validateSourceContract","validateTargetContract","validateType","allowArray","HandlerRole","nextUniqueId","getNextUniqueId","getNextHandlerId","role","parseRoleFromHandlerId","handlerId","mapContainsValue","searchValue","isDone","done","HandlerRegistryImpl","includePinned","strictEquality","areCoordsEqual","offsetA","offsetB","areArraysEqual","isEqual","reduce","_state","prevTargetIds","prevInnermostTargetId","innermostTargetId","initialState","dirtyHandlerIds","dragOffset","refCount","dragOperation","stateId","createDragDropManager","backendFactory","globalContext","backendOptions","debugMode","makeStoreInstance","reduxDevTools","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","sourceKeys","INSTANCE_SYM","DndProvider","_param","isGlobalInstance","getDndContextValue","useEffect","getGlobalContext","_jsx","createSingletonDndContext","fastDeepEqual","equal","useIsomorphicLayoutEffect","useLayoutEffect","useCollector","collect","onUpdate","collected","setCollected","useState","updateCollected","useCallback","nextValue","useMonitorOutput","onCollect","useCollectedProps","collector","connector","useOptionalFactory","deps","memoDeps","useMemo","useConnectDragSource","useConnectDragPreview","isCallingCanDrag","isCallingIsDragging","DragSourceMonitorImpl","isCallingCanDrop","DropTargetMonitorImpl","registerTarget","registerSource","compareContext","compareResult","keysA","keysB","bHasOwnProperty","valueA","valueB","isRef","throwIfCompositeComponentElement","displayName","wrapHookToRecognizeElement","elementOrNode","isValidElement","cloneWithRef","wrapConnectorHooks","hooks","wrappedHooks","wrappedHook","setRef","ref","newRef","previousRef","cloneElement","SourceConnector","newHandlerId","didChange","dragSource","forceDidChange","dragPreview","TargetConnector","dropTarget","useDragDropManager","dragDropManager","useContext","useDragSourceConnector","dragSourceOptions","dragPreviewOptions","useDragSourceMonitor","DragSourceImpl","globalMonitor","isDragging","useDragSource","useDragType","useRegisteredDragSource","unregister","useDrag","specArg","useConnectDropTarget","useDropTargetConnector","useDropTargetMonitor","useAccept","accept","DropTargetImpl","useDropTarget","useRegisteredDropTarget","useDrop","union","EnterLeaveCounter","enteringNode","previousLength","isNodeEntered","leavingNode","isNodeInDocument","NativeDragSource","dataTransfer","newProperties","handle","FILE","URL","TEXT","HTML","getDataFromDataTransfer","typesToTry","resultSoFar","typeToTry","nativeTypesConfig","NativeTypes.FILE","NativeTypes.HTML","matchesTypes","NativeTypes.URL","NativeTypes.TEXT","createNativeDragSource","matchNativeItemType","dataTransferTypes","nativeItemType","typeConfig","isFirefox","isSafari","MonotonicInterpolant","xs","ys","c1s","c2s","c3s","low","high","xHere","diffSq","indexes","dxs","ms","dy","i1","i2","m2","mNext","dxNext","common","i3","invDx","ELEMENT_NODE","getNodeClientOffset","getEventClientOffset","isImageNode","getDragPreviewSize","isImage","sourceWidth","sourceHeight","dragPreviewWidth","dragPreviewHeight","getDragPreviewOffset","sourceNode","anchorPoint","offsetPoint","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","anchorX","anchorY","calculateYOffset","calculateXOffset","isManualOffsetX","isManualOffsetY","OptionsReader$1","HTML5BackendImpl","ref1","handleDragStart","handleSelectStart","handleDragEnter","handleDragOver","handleDrop","sourceNodeOptions","sourcePreviewNodeOptions","NativeTypes","MOUSE_MOVE_TIMEOUT","_e","dragOverTargetIds","dragStartSourceIds","nativeType","dragPreviewOffset","captureDraggingState","dragEnterTargetIds","dropTargetIds","OptionsReader","HTML5Backend","useCloudinaryUpload","cld","addMedia","statusText","setStatusText","file","signatureData","xhr","isPersisted","ItemTypes","ContentMediaUploader","media","setMedia","disabled","buttonText","innerInfos","inputProps","removePersistedMedia","removeMedia","fileToRemove","uploadFile","handleFiles","files","moveCard","dragIndex","hoverIndex","prevMedia","update","MediaThumbnail","handleRemove","readonly","useRef","drag","drop","cloudinary_uploader_controller","CloudinaryStimulusWrapper","baseMedia","fieldName","logo","initialMedia","hiddenFieldsDiv","med","secureUrl","fr","isCheckBoxInput","isDateObject","isNullOrUndefined","isObjectType","getEventValue","getNodeParentName","isNameInFieldArray","tempObject","prototypeCopy","isWeb","cloneObject","isFileListInstance","compact","isUndefined","isBoolean","isKey","stringToPath","tempPath","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","getProxyFormState","formState","control","localProxyFormState","isRoot","isEmptyObject","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","exact","currentName","useSubscribe","_props","subscription","useFormState","methods","_mounted","_localProxyFormState","_name","isString","generateWatchOutput","_names","formValues","isGlobal","useWatch","updateValue","useController","shouldUnregister","isArrayField","_registerProps","fieldState","elm","_shouldUnregisterField","updateMounted","appendErrors","validateAllFieldCriteria","errors","getValidationModes","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fields","fieldsNames","abortEarly","_f","currentField","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isHTMLElement","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","defaultReturn","getRadioValue","getValidateError","getValueAndMessage","validationData","validateField","disabledFieldNames","shouldUseNativeValidation","isFieldArray","refs","required","maxLength","minLength","validate","valueAsNumber","mount","inputValue","inputRef","setCustomValidity","isRadio","isCheckBox","isRadioOrCheckbox","isEmpty","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","baseGet","isEmptyArray","unset","childObject","createSubject","_observers","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","defaultValues","getFieldValueAs","valueAsDate","setValueAs","getFieldValue","getResolverOptions","_fields","criteriaMode","getRuleValue","ASYNC_FUNCTION","hasPromiseValidation","fieldReference","validateFunction","hasValidation","schemaErrorLookup","foundError","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","createFormControl","_options","_formState","_defaultValues","_formValues","delayErrorCallback","timer","_subjects","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","wait","_updateValid","shouldUpdateValid","isValid","_executeSchema","executeBuiltInValidation","_updateIsValidating","isValidating","_updateFieldArray","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","_setErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldUpdateField","isPreviousDirty","output","disabledField","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","isFieldArrayRoot","isPromiseFunction","fieldError","_removeUnmounted","getValues","_getWatch","_getFieldArray","optionRef","checkboxRef","radioRef","setValues","fieldKey","setValue","cloneValue","onChange","isFieldValueUpdated","getCurrentFieldValue","_updateIsFieldValueUpdated","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","getFieldState","clearErrors","inputName","setError","currentError","currentRef","restOfErrorTree","watch","_updateDisabledField","register","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","_disableForm","handleSubmit","onValid","onInvalid","onValidError","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","fieldsToCheck","useForm","_formControl","isDirty","defaultJsonSerializer","uppercase","HeadersInstanceToPlainObject","headers","parseRequestArgs","documentOrOptions","variables","requestHeaders","parseRawRequestArgs","queryOrOptions","parseBatchRequestArgs","documentsOrOptions","devAssert","LineRegExp","getLocation","lastLineStart","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","toNormalizedOptions","firstArg","GraphQLError","rawArgs","_this$nodes","_nodeLocations$","originalError","extensions","undefinedIfEmpty","nodeLocations","loc","originalExtensions","formattedError","syntaxError","Location","startToken","endToken","Token","column","QueryDocumentKeys","kindValues","isNode","maybeNode","maybeKind","OperationTypeNode","DirectiveLocation","Kind","isWhiteSpace","isDigit","isLetter","isNameStart","isNameContinue","dedentBlockStringLines","_firstNonEmptyLine2","commonIndent","firstNonEmptyLine","lastNonEmptyLine","_firstNonEmptyLine","leadingWhitespace","printBlockString","escapedValue","isSingleLine","forceLeadingNewLine","hasTrailingTripleQuotes","hasTrailingQuote","hasTrailingSlash","forceTrailingNewline","printAsMultipleLines","skipLeadingNewLine","TokenKind","Lexer","startOfFileToken","nextToken","readNextToken","isPunctuatorTokenKind","isUnicodeScalarValue","isSupplementaryCodePoint","isLeadingSurrogate","isTrailingSurrogate","printCodePointAt","lexer","createToken","bodyLength","readComment","readBlockString","readString","readNumber","readName","firstCode","isFloat","readDigits","chunkStart","readEscapedUnicodeVariableWidth","readEscapedUnicodeFixedWidth","readEscapedCharacter","readHexDigit","read16BitHexCode","trailingCode","lineStart","currentLine","blockLines","MAX_ARRAY_LENGTH","MAX_RECURSIVE_DEPTH","inspect","formatValue","seenValues","formatObjectValue","previouslySeenValues","isJSONable","jsonValue","formatArray","formatObject","getObjectTag","instanceOf","_value$constructor","className","valueClassName","stringifiedValue","Source","locationOffset","isSource","sourceObj","hasDescription","keywordToken","operation","operationToken","nameOrAlias","alias","isConst","hasTypeCondition","directives","innerType","operationTypes","interfaces","types","getTokenDesc","repeatable","locations","getTokenKindDesc","atToken","openKind","parseFn","closeKind","delimiterKind","maxTokens","printString","escapedRegExp","escapedReplacer","escapeSequences","BREAK","visitor","visitorKeys","enterLeaveMap","getEnterLeaveForKind","inArray","edits","isLeaving","isEdited","editOffset","editKey","editValue","arrayKey","_enterLeaveMap$get","_enterLeaveMap$get2","visitFn","_node$kind","kindVisitor","print","ast","printDocASTReducer","MAX_LINE_LENGTH","join","varDefs","variable","selections","selectionSet","argsLine","typeCondition","variableDefinitions","isBlockString","hasMultilineItems","maybeArray","separator","_maybeArray$filter$jo","maybeString","_maybeArray$some","extractOperationName","operationName","operationDefinitions","resolveRequestDocument","parsedDocument","ClientError","__global__","global","__globalThis__","globalThis","support","isDataView","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","iterator","Headers","header","consumed","fileReaderReady","readBlobAsArrayBuffer","blob","readBlobAsText","readArrayBufferAsText","buf","view","bufferClone","Body","isConsumed","decode","normalizeMethod","upcased","Request","reParamSearch","reQueryString","bytes","split","parseHeaders","rawHeaders","preProcessedHeaders","Response","bodyInit","redirectStatuses","status","init","abortXhr","fixUrl","resolveHeaders","oHeaders","CrossFetch","CrossFetch.Headers","cleanQuery","buildRequestConfig","params_","currentQuery","createHttpMethodFetcher","query","middleware","createRequestBody","urlResolved","initResolved","urlNew","initNew","GraphQLClient","requestConfig","rawRequestOptions","crossFetch","requestMiddleware","responseMiddleware","makeRequest","callOrIdentity","variablesAndRequestHeaders","requestOptions","batchRequestOptions","queries","fetcher","isBatchingQuery","getResult","successfullyReceivedData","successfullyPassedErrorPolicy","errorResult","jsonSerializer","jsonSerializer_","contentType","gql","chunk","BoltIcon","titleId","svgRef","ForwardRef","React.forwardRef","CameraIcon","ChevronDownIcon","ChevronRightIcon","ChevronUpIcon","CloudArrowDownIcon","EllipsisHorizontalIcon","EllipsisVerticalIcon","ExclamationCircleIcon","ExclamationTriangleIcon","EyeDropperIcon","EyeIcon","LinkIcon","PaperAirplaneIcon","PhotoIcon","PlayIcon","PlusIcon","RectangleGroupIcon","SparklesIcon","TrashIcon","UserCircleIcon","UsersIcon","VideoCameraIcon","XMarkIcon","FacebookPreview","exampleAccount","teaser","focus","reconstructed_url","cta","parsedTeaser","parsedLink","validMedia","BeakerIcon","FaceSmileIcon","GlobeAltIcon","MagnifyingGlassIcon","$parcel$interopDefault","$c770c458706daa72$export$2e2bcd8739ae039","$fb96b826c0c5f37a$var$n","$fb96b826c0c5f37a$export$41c562ebe57d11e2","$fb96b826c0c5f37a$var$u","$fb96b826c0c5f37a$var$t","$fb96b826c0c5f37a$var$r","$fb96b826c0c5f37a$var$o","$fb96b826c0c5f37a$var$e","$fb96b826c0c5f37a$var$c","$fb96b826c0c5f37a$var$s","$fb96b826c0c5f37a$var$a","n1","u1","$fb96b826c0c5f37a$var$h","n2","$fb96b826c0c5f37a$export$c8a8987d4410bf2d","l3","u2","r1","o1","$fb96b826c0c5f37a$var$y","n3","t2","r2","o2","f2","$fb96b826c0c5f37a$export$7d1e3a5e95ceca43","$fb96b826c0c5f37a$export$ffb0004e005737fa","n4","$fb96b826c0c5f37a$export$16fa2f45be04daa8","n5","l4","$fb96b826c0c5f37a$var$k","n6","l5","u3","$fb96b826c0c5f37a$var$b","n7","l6","u4","$fb96b826c0c5f37a$var$m","n8","$fb96b826c0c5f37a$var$g","n9","n10","l7","n11","l8","u5","t3","r3","o3","$fb96b826c0c5f37a$var$j","$fb96b826c0c5f37a$var$z","$fb96b826c0c5f37a$var$w","n12","l9","u6","i4","t4","r4","o4","f3","s1","_1","b1","m1","A1","$fb96b826c0c5f37a$var$x","$fb96b826c0c5f37a$var$P","$fb96b826c0c5f37a$var$N","$fb96b826c0c5f37a$var$M","n13","l10","u7","i5","t5","r5","$fb96b826c0c5f37a$export$47e4c5b300681277","n14","l11","n15","n16","l12","u8","i6","t6","r6","o5","f4","e1","$fb96b826c0c5f37a$var$C","n17","l13","u9","i7","t7","r7","$fb96b826c0c5f37a$var$H","$fb96b826c0c5f37a$var$$","n18","l14","u10","n19","l15","u11","i8","t8","r8","$fb96b826c0c5f37a$var$T","$fb96b826c0c5f37a$var$I","n20","n21","n22","u12","i9","t9","r9","o6","f5","e2","s2","k1","b2","A2","P1","$fb96b826c0c5f37a$var$O","n23","$fb96b826c0c5f37a$var$L","n24","n25","u13","u14","n26","n27","l16","u15","i10","t10","r10","o7","f6","s3","a2","v3","p3","d1","_2","n28","u16","i11","n29","n30","u17","i12","t11","r11","n31","n32","u18","$fb96b826c0c5f37a$export$b3890eb0ae9dca99","u19","i13","t12","r12","o8","f7","n39","l22","u23","i16","t14","l23","n41","l24","u24","n42","$bd9dd35321b03dd4$var$o","$bd9dd35321b03dd4$export$34b9dba7ce09269b","$f72b75cf796873c7$var$set","$f72b75cf796873c7$var$get","$f72b75cf796873c7$export$2e2bcd8739ae039","$c84d045dcc34faf5$var$CACHE","$c84d045dcc34faf5$var$VERSIONS","$c84d045dcc34faf5$var$latestVersion","emoji","$c84d045dcc34faf5$var$isSupported","$c84d045dcc34faf5$var$noCountryFlags","supported","$c84d045dcc34faf5$var$isEmojiSupported","CANVAS_HEIGHT","CANVAS_WIDTH","unicode","$c84d045dcc34faf5$export$2e2bcd8739ae039","$b22cfd0a55410b4f$var$DEFAULTS","$b22cfd0a55410b4f$var$Index","$b22cfd0a55410b4f$var$add","emojiId","$b22cfd0a55410b4f$var$get","maxFrequentRows","perLine","emojiIds","aScore","bScore","removedIds","removedId","$b22cfd0a55410b4f$export$2e2bcd8739ae039","$8d50d93417ef682a$exports","$b247ea80b67298d5$export$2e2bcd8739ae039","$7adb23b0109cc36a$export$dbe3113d60765c1a","$7adb23b0109cc36a$export$2d0294657ab35f1b","$7adb23b0109cc36a$var$fetchCache","$7adb23b0109cc36a$var$fetchJSON","$7adb23b0109cc36a$var$promise","$7adb23b0109cc36a$var$initCallback","$7adb23b0109cc36a$var$initialized","$7adb23b0109cc36a$export$2cd8252107eb640b","caller","$7adb23b0109cc36a$var$_init","emojiVersion","category","prevCategory","latestVersionSupport","noCountryFlags","categoryIndex","resetSearchIndex","categoryIcons","icon","emojiIndex","ignore","$e6eae5155b87f591$export$bcb25aa587e9cb13","emoticon","skinIndex","skin","native","skinShortcodes","$c4d155af13ad4d4b$export$2e2bcd8739ae039","$7adb23b0109cc36a$export$75fe5f91d452f94b","defaultProps","$7adb23b0109cc36a$export$88c9ddb45cea7241","propName","$c4d155af13ad4d4b$var$SHORTCODES_REGEX","$c4d155af13ad4d4b$var$Pool","$c4d155af13ad4d4b$var$get","$c4d155af13ad4d4b$var$reset","$c4d155af13ad4d4b$var$search","maxResults","word","words","pool","scores","value1","$693b183b0a78708f$export$9cb4719e2e525b7a","$693b183b0a78708f$export$e772c8ff12451969","frames","$693b183b0a78708f$export$d10ac59fbe52a745","emojiData","$fcccfb36ed0cde68$var$categories","$fcccfb36ed0cde68$var$search","$fcccfb36ed0cde68$export$2e2bcd8739ae039","$254755d3f438722f$export$2e2bcd8739ae039","emojiSkin","imageSrc","spritesheetSrc","$6f57cc9cd54c5aaa$var$WindowHTMLElement","$6f57cc9cd54c5aaa$export$2e2bcd8739ae039","$26f27c338a96b1a6$export$2e2bcd8739ae039","$3d90f6e46fb2dd47$export$2e2bcd8739ae039","$331b4160623139bf$export$2e2bcd8739ae039","$1a9a8ef576b7773d$var$r","$1a9a8ef576b7773d$var$i","$1a9a8ef576b7773d$var$c","$1a9a8ef576b7773d$var$f","$1a9a8ef576b7773d$var$e","$1a9a8ef576b7773d$var$a","$1a9a8ef576b7773d$var$v","$1a9a8ef576b7773d$var$x","$1a9a8ef576b7773d$var$g","$1a9a8ef576b7773d$var$j","$1a9a8ef576b7773d$var$b","$dc040a17866866fa$var$S","$dc040a17866866fa$var$C","$dc040a17866866fa$export$221d75b3f55bb0bd","$dc040a17866866fa$var$w","$dc040a17866866fa$var$A","e6","$dc040a17866866fa$var$O","$dc040a17866866fa$export$74bf444e3cd11ea5","$dc040a17866866fa$var$U","$dc040a17866866fa$export$998bcd577473dd93","t13","e8","t17","e9","t18","t15","t19","e10","t20","e13","t21","$dc040a17866866fa$var$T","t22","e14","n33","t25","e16","r13","n34","t26","e17","n35","t27","e18","$dc040a17866866fa$var$j","$dc040a17866866fa$var$P","$dc040a17866866fa$var$V","$dc040a17866866fa$var$z","n36","t30","$dc040a17866866fa$var$H","$dc040a17866866fa$var$Z","$dc040a17866866fa$var$Y","$dc040a17866866fa$var$q","n40","$dc040a17866866fa$var$J","$dc040a17866866fa$var$K","t31","e21","r14","n43","$dc040a17866866fa$var$Q","n44","$ec8c39fdad15601a$var$THEME_ICONS","$ec8c39fdad15601a$export$2e2bcd8739ae039","selectedCategoryIndex","selected","$e0d4dda61265ff1e$export$2e2bcd8739ae039","$89bd6bb200cc8fef$var$Performance","$89bd6bb200cc8fef$export$2e2bcd8739ae039","searchInput","requiresGridReset","except","categories","navKey","addRow","rows","rowIndex","rowRef","category1","theme","emojiButtonSize","calculatePerLine","navigation","visibleCategories","setFocusedCategory","categoryId","observerOptions","ratios","visibleRows","up","down","scroll","scrollRect","scrollTop","rowTop","rowBot","tempSkin","noSearchResults","posinset","renderSkinTone","searchResults","hidden","targetRow","contents","skinToneButtonRect","baseRect","checked","afterRender","menu","$efa000751917694d$export$2e2bcd8739ae039","$329d53ba9fd7125f$exports","$e5534fc185f7111e$export$2e2bcd8739ae039","$dvPge$useRef","instance","$dvPge$useEffect","$dvPge$Picker","$dvPge$react","InsertableTextInput","emojis","insertionVariables","inputType","setEmojiData","insert","inserted","selectionStart","selectionEnd","emojiSelectorOpen","setEmojiSelectorOpen","onEmojiSelect","refCallback","EmojiPicker","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$HgANd$react","$8ae05eaa5c114e9c$export$7f54fc3180508a52","$lmaYr$useRef","$lmaYr$useCallback","$431fbd86ca7dc216$export$b204af158042fbac","_el_ownerDocument","$431fbd86ca7dc216$export$f21a1ffae260145a","$c87311424ea30a05$var$testUserAgent","_window_navigator_userAgentData","brand","$c87311424ea30a05$var$testPlatform","$c87311424ea30a05$var$cached","$c87311424ea30a05$export$9ac100e40613ea10","$c87311424ea30a05$export$a11b0059900ceec8","$6a7db85432448f7f$export$60278871457622de","$8a9cb279dc87e130$export$905e7fc544a71f36","nativeEvent","$8a9cb279dc87e130$export$715c682d09d639cc","onBlur","stateRef","$6dfIe$useRef","$6dfIe$useLayoutEffect","dispatchBlur","$6dfIe$useEffectEvent","$6dfIe$useCallback","onBlurHandler","_stateRef_current_observer","relatedTargetEl","$a1ea59d68270f0dd$export$f8168d8dd8fd66e6","isDisabled","onFocusProp","onBlurProp","onFocusChange","$hf0lj$useCallback","onSyntheticFocus","onFocus","ownerDocument","$hf0lj$getOwnerDocument","$507fabe10e71c6fb$var$currentModality","$507fabe10e71c6fb$var$changeHandlers","$507fabe10e71c6fb$export$d90243b58daecda7","$507fabe10e71c6fb$var$hasEventBeforeFocus","$507fabe10e71c6fb$var$hasBlurredWindowRecently","$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS","$507fabe10e71c6fb$var$triggerChangeHandlers","modality","$507fabe10e71c6fb$var$isValidKey","$28AnR$isMac","$507fabe10e71c6fb$var$handleKeyboardEvent","$507fabe10e71c6fb$var$handlePointerEvent","$507fabe10e71c6fb$var$handleClickEvent","$28AnR$isVirtualClick","$507fabe10e71c6fb$var$handleFocusEvent","$507fabe10e71c6fb$var$handleWindowBlur","$507fabe10e71c6fb$var$setupGlobalFocusEvents","$28AnR$getOwnerWindow","windowObject","documentObject","$28AnR$getOwnerDocument","$507fabe10e71c6fb$var$tearDownWindowFocusTracking","loadListener","$507fabe10e71c6fb$export$2f1888112f558a7d","$507fabe10e71c6fb$export$b9b3dfddab17db27","$507fabe10e71c6fb$var$nonTextInputTypes","$507fabe10e71c6fb$var$isKeyboardFocusEvent","isTextInput","_e_target","IHTMLInputElement","IHTMLTextAreaElement","IHTMLElement","IKeyboardEvent","$507fabe10e71c6fb$export$ec71b4b83ac08ec3","$28AnR$useEffect","$9ab94262bd0047c7$export$420e68273165f4ec","onBlurWithin","onFocusWithin","onFocusWithinChange","$3b9Q0$useRef","$3b9Q0$useCallback","$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$hoverCount","$6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$handleGlobalPointerEvent","$6179b936705e76d3$var$setupGlobalTouchEvents","$6179b936705e76d3$export$ae780daf29e6d456","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","$AWxnT$useState","$AWxnT$useRef","$AWxnT$useEffect","hoverProps","triggerHoverEnd","$AWxnT$useMemo","triggerHoverStart","pointerType","$f7dceffc5ad7768b$export$4e328f61c538687f","within","$isWE5$useRef","$isWE5$isFocusVisible","isFocused","setFocused","$isWE5$useState","isFocusVisibleState","setFocusVisible","updateState","$isWE5$useCallback","$isWE5$useFocusVisibleListener","isFocusVisible","focusProps","$isWE5$useFocus","focusWithinProps","$isWE5$useFocusWithin","o$9","$","define_process_env_default","hasWindow","getNodeName","getWindow","_node$ownerDocument","getDocumentElement","isElement","isShadowRoot","isOverflowElement","overflow","overflowX","overflowY","isTableElement","isTopLayer","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","getNearestOverflowAncestor","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","getFrameElement","activeElement","doc","contains","rootNode","getPlatform","uaData","getUserAgent","isVirtualPointerEvent","isJSDOM","isAndroid","isMac","isMouseLikePointerType","strict","isReactEvent","isRootElement","getDocument","isEventTargetWithin","TYPEABLE_SELECTOR","isTypeableElement","sides","alignments","placements","side","floor","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","isStart","lr","bt","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","getPaddingObject","rectToClientRect","computeCoordsFromPlacement","reference","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","detectOverflow","_await$platform$isEle","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","getPlacementList","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","resetPlacement","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","currentSideAxis","convertValueToCoords","mainAxisMulti","crossAxisMulti","mainAxis","_middlewareData$offse","diffCoords","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_state$middlewareData","_state$middlewareData2","isYAxis","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","xMax","yMin","yMax","nextDimensions","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","rectsAreEqual","observeMove","onMove","io","cleanup","_io","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","detectOverflow$1","offset$1","autoPlacement$1","shift$1","flip$1","size$1","mergedOptions","platformWithCache","computePosition$1","getDPR","roundByDPR","useLatestRef","React.useRef","useFloating","externalReference","externalFloating","whileElementsMounted","open","setData","React.useState","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","React.useCallback","referenceRef","setFloating","floatingRef","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","ReactDOM.flushSync","React.useMemo","floatingStyles","initialStyles","SafeReact","useInsertionEffect","useSafeInsertionEffect","useEffectEvent","_len","serverHandoffComplete","genId","useFloatingId","setId","React.useEffect","useReactId","useId","createPubSub","_map$get","_map$get2","FloatingNodeContext","FloatingTreeContext","useFloatingParentNodeId","_React$useContext","useFloatingTree","createAttribute","safePolygonIdentifier","getDelay","useHover","onOpenChange","events","handleClose","mouseOnly","restMs","parentId","handleCloseRef","delayRef","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef$current$open","onLeave","closeWithDelay","runElseBranch","closeDelay","cleanupMouseMoveHandler","clearPointerEvents","isClickLikeOpenEvent","onMouseEnter","openDelay","onMouseLeave","onScrollMouseLeave","_elements$floating","_elements$floating2","_handleCloseRef$curre","_tree$nodesRef$curren","parentFloating","setPointerRef","handleMouseMove","getChildren","allChildren","_node$context","currentChildren","_currentChildren","_node$context2","FOCUSABLE_ATTRIBUTE","bubbleHandlerKeys","captureHandlerKeys","normalizeProp","normalizable","_normalizable$escapeK","_normalizable$outside","useDismiss","escapeKey","unstable_outsidePress","outsidePressEvent","referencePress","referencePressEvent","capture","outsidePressFn","outsidePress","insideReactTreeRef","endedOrStartedInsideRef","escapeKeyBubbles","outsidePressBubbles","escapeKeyCapture","outsidePressCapture","isComposingRef","closeOnEscapeKeyDown","_dataRef$current$floa","nodeId","shouldDismiss","_child$context","closeOnEscapeKeyDownCapture","_getTarget2","closeOnPressOutside","_dataRef$current$floa2","insideReactTree","endedOrStartedInside","inertSelector","markers","targetRootAncestor","nextParent","marker","canScrollX","canScrollY","xCond","targetIsInsideChildren","_child$context2","closeOnPressOutsideCapture","_getTarget4","_getTarget3","compositionTimeout","onScroll","handleCompositionStart","handleCompositionEnd","_doc$defaultView","useFloatingRootContext","onOpenChangeProp","elementsProp","floatingId","nested","positionReference","setPositionReference","internalRootContext","rootContext","computedElements","_domReference","setDomReference","_setPositionReference","domReference","domReferenceRef","useFloating$1","computedPositionReference","useFocus","visibleOnly","blockFocusRef","keyboardModalityRef","onKeyDown","relatedTarget","movedToFocusGuard","activeEl","ACTIVE_KEY","SELECTED_KEY","mergeProps","userProps","propsList","elementKey","isItem","domUserProps","validProps","propsOrGetProps","useInteractions","referenceDeps","floatingDeps","itemDeps","getReferenceProps","getFloatingProps","getItemProps","componentRoleToAriaRoleMap","useRole","_componentRoleToAriaR","ariaRole","referenceId","isNested","floatingProps","commonProps","getArgsWithCustomFloatingHeight","listRef","overflowRef","onFallbackChange","innerOffset","minItemsVisible","referenceOverflowThreshold","scrollRef","scrollEl","clientTop","floatingIsBordered","scrollElIsBordered","floatingIsScrollEl","nextArgs","refOverflow","diffY","useInnerOffset","unstable_onChange","controlledScrollingRef","prevScrollTopRef","initialOverflowRef","onWheel","dY","isAtTop","isAtBottom","remainingScroll","scrollDiff","j.createElement","t.useState","t.useEffect","yt","gt","Lt","St","Et","ft","Pt","Rt","At","ht","ct","ut","lt","nt","Dt","_t","rt","et","tt","Ot","mt","It","Ct","Ft","ot","at","it","Tt","dt","vt","Mt","Bt","wt","kt","Ut","Nt","Ht","xt","Gt","Vt","Kt","Mo","CheckIcon","ChevronUpDownIcon","InboxArrowDownIcon","Select","placeHolder","Listbox","Transition","Fragment","FormField","hint","ChoiceButton","handleAiButtonClick","handleManualButtonClick","showInputMessage","Spinner","OpenAiForm","setPrompt","loading","Submit","UrlScraper","redirectionCallback","creationUrl","setLink","setloading","send","FormLayout","leftSideElements","useOpenAI","setLoading","setShowInputMessage","fieldPath","apiRoute","imageUrls","responseFromOpenAI","setResponseFromOpenAI","disabledInput","setDisabledInput","simulateTyping","fullText","nextChar","SubmitOpenAI","errorData","useUserChoice","TextArea","computeFocus","linkUrl","CompanyContentForm","current_company","submitted","setSubmitted","company_content","ctaOptions","graphQLClient","onSubmit","bodyMedia","_d","link_description","previewCta","handleAIButtonClick","showIntegratedLink","setShowIntegratedLink","handleIntegratedLink","_h","_g","_j","_l","_k","company_content_form_controller","en","ColorPicker","rgbaToHex","rgba","hexAlpha","Input","Modal","setOpen","Dialog","DialogPanel","ProfilePictureEditor","profilePicture","setProfilePicture","didMountRef","imgRef","workingCopy","setWorkingCopy","setCrop","onImageLoad","percentCrop","pxToPercent","resetCropMask","defaultCrop","centerCrop","makeAspectCrop","validateCrop","pxCrop","percentToPx","cropFn","ReactCrop","px","perc","CompanyForm","profile_picture","company","defaultRequiredMessage","serialized_file","authenticity_token","genderOptions","_m","_o","_n","company_form_controller","ReactDOMClient.createRoot","FocusSelector","onSelectCallback","videoPresent","imagesPresent","kv","IconComponent","registredProps","TagSelector","tagGroups","tagGroup","tsg","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","componentName","propFullName","secret","getShim","ReactPropTypes","propTypesModule","HOOKS","givenDate","week1","english","nth","number","int","bool","arrayify","toggleClass","elem","createElement","clearNode","findParent","createNumberInput","inputClassName","wrapper","numInput","arrowUp","arrowDown","getEventTarget","doNothing","monthToStr","monthNumber","shorthand","revFormat","dateObj","monthName","hour","day","amPM","shortMonth","seconds","unixSeconds","weekNum","weekNumber","year","ISODate","minutes","month","unixMillSeconds","tokenRegex","createDateFormatter","l10n","isMobile","frmt","overrideLocale","createDateParser","givenFormat","timeless","customLocale","parsedDate","dateOrig","datestr","matched","ops","matchIndex","regexStr","isBackSlash","escaped","compareDates","date1","date2","isBetween","ts","ts1","ts2","calculateSecondsSinceMidnight","hours","parseSeconds","secondsSinceMidnight","getDefaultHours","minHour","minMinutes","minSeconds","maxHr","maxMinutes","_loop_1","args_1","__spreadArrays","jl","DEBOUNCED_CHANGE_MS","FlatpickrInstance","instanceConfig","self","flatpickr","English","bind","setHoursFromDate","positionCalendar","changeMonth","changeYear","clear","close","onMouseOver","createDay","destroy","isEnabled","jumpToDate","redraw","setDate","setupHelperFunctions","yr","parseConfig","setupLocale","setupInputs","setupDates","build","bindEvents","setCalendarWidth","triggerEvent","getClosestActiveElement","bindToInstance","daysWidth","updateTime","defaultDate","timeWrapper","setHoursFromInputs","ampm2military","military2ampm","limitMinHours","limitMaxHours","minBound","maxBound","currentTime","maxTime","minTime","setHours","onYearInput","triggerChange","evt","setupMobile","debouncedResize","onResize","documentClick","onMonthNavClick","selectDate","selText","timeIncrement","jumpDate","jumpTo","oldYear","oldMonth","buildMonthSwitch","incrementNumInput","inputElem","createEvent","buildMonthNav","buildWeeks","weekWrapper","weekNumbers","buildWeekdays","buildDays","buildTime","customAppend","_dayNumber","dateIsEnabled","dayElement","isDateSelected","isDateInRange","focusOnDayElem","getFirstAvailableDay","startMonth","endMonth","getNextAvailableDay","givenMonth","loopDelta","numMonthDays","focusOnDay","dayFocused","isInView","startElem","buildMonthDays","firstOfMonth","prevMonthDays","daysInMonth","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayNumber","dayIndex","dayNum","dayContainer","frag","shouldBuildMonth","buildMonth","monthNavFragment","monthElement","selectedMonth","yearInput","yearElement","currentMonth","buildMonths","updateNavigationCurrentMonth","hourInput","minuteInput","secondInput","updateWeekdays","firstDayOfWeek","weekdays","isOffset","triggerChangeEvent","toInitial","isCalendarElem","eventTarget_1","isCalendarElement","isInput","lostFocus","isIgnored","newYear","newYearNum","isNewYear","dateToCheck","valueChanged","getDateStr","allowInput","allowKeydown","allowInlineKeydown","isTimeObj","focusAndClose","delta_1","elems","cellClass","hoverDate","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","hoverableCells","dayElem","outOfRange","positionElement","wasOpen","minMaxDateSetter","inverseDateObj","boolOpts","dates","parseDateRules","timeMode","defaultDateFormat","defaultAltFormat","minMaxTimeSetter","pluginConf","getInputElem","customPositionElement","calendarHeight","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","distanceFromBottom","showOnTop","isCenter","isRight","rightMost","centerMost","getDocumentStyleSheet","bodyWidth","centerLeft","centerBefore","centerAfter","centerIndex","centerStyle","editableSheet","sheet","createStyleSheet","isSelectable","selectedDate","shouldChangeMonth","selectedIndex","single","CALLBACKS","updatePositionElement","setSelectedDate","preloadedDate","specificFormat","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","isHourElem","isMinuteElem","_flatpickr","_typeof","_react","_interopRequireWildcard","_propTypes","_interopRequireDefault","require$$2","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","_arrayLikeToArray","iter","arr2","_extends","enumerableOnly","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","call","_assertThisInitialized","hookPropType","callbackPropTypes","DateTimePicker","_Component","mergeHooks","onCreate","onDestroy","prevOptions","optionsKeys","_this$props","inputOptions","_options$hook","propHook","_default","CustomPicker","Flatpickr","dateArray","ContentForm","minDate","generateFocusHint","_p","DatePicker","content_form_controller","content_redirect_controller","creator_video_controller","songSelectedElement","dynamicSequences","seq","lastDynamic","lastElement","existingButton","plusButton","currentDynamicCount","maxDynamicCount","newDynamicSequence","lastPosition","minDynamicCount","sequenceDiv","sequence","submitButton","songSelected","CSVBoxImporter","slug","configuration","cssText","iframe","domain","BASE_URL","environment","oldComponent","metadata","primary_row_data","dynamic_columns_indexes","virtual_columns_indexes","row_data","dynamic_columns","virtual_data","characters","charactersLength","columns","CsvBox","DanimLoaderButton","videos","setVideos","fetchVids","danim_loader_controller","ReactDOM","_Dialog","StimulusDialog","eventId","elementId","composeEventName","eventPrefix","composedName","composed","isElementInViewport","windowHeight","windowWidth","vertInView","horInView","defaultOptions$5","useClickOutside","composableController","onlyVisible","dispatchEvent","onEvent","clickOutsideEvent","observe","unobserve","controllerDisconnect","DebounceController","ThrottleController","fix_popover_controller","Popover","_objectSpread2","defaultValueType","kebabCase","capitalize$1","booleanOptions","stringOptions","numberOptions","arrayOptions","arrayOrStringOptions","dateOptions","dateFormats","mapping","strftimeRegex","convertDateFormat","StimulusFlatpickr","_Controller","optionType","optionKebab","dateFormat","factory","this","fp","French","baseFlatpickrController","weekSelectPlugin","onDayHover","dayIndSeven","weekStartDay","weekEndDay","day_1","highlightWeek","selDate","clearHover","onReady","flatpickr_week_controller","weekSelect","floating_menu_controller","hello_controller","highlighted_input_controller","wrapLogic","wrapVariable","parseBalancedExpressions","processed","wrappedContent","conditionStart","parenLevel","conditionEnd","braceStart","braceLevel","expressionEnd","processedBody","tempElement","mail_templates_controller","email","listItem","objectTemplate","bodyTemplate","newsletters_controller","nextPage","companyId","newsletterId","checkbox","contentId","parentDiv","hiddenInput","node_duplicator_controller","FacebookLogo","TwitterLogo","TikTokLogo","LinkedinLogo","PinterestLogo","GoogleLogo","InstagramLogo","ChannelSelector","channels","ChannelLogo","stringifySize","PostGeneratorForm","maxDate","defaultStartingAt","post_generator","content_attributes","periodicityOptions","duplicateWithOwnership","channel_ids","selectedOption","setSelectedOption","previousPeriodicity","setPreviousPeriodicity","previousStartingAt","setPreviousStartingAt","handleOptionChange","_r","_q","_s","_v","_u","post_generator_form_controller","search_companies_controller","searchTerm","companyName","side_panel_controller","a$1","l$1","t$2","e$1","r$2","o$1","sound_select_controller","firstPlaylistButton","playlistId","clickedButton","apiKey","songsData","audioFilesWithTitles","audioFile","song","audioFiles","audioFilesContainer","selectedAudioItem","currentRegion","audioItem","infoContainer","waveformContainer","RegionsPlugin","ws","WaveSurfer","controlsContainer","playFullAudioBtn","clickPosition","sound_name","formattedStart","formattedEnd","formattedDuration","timeInSeconds","playlistMap","playlistsContainer","playlist","button","stonly_controller","consumer","getConsumer","setConsumer","createConsumer","newConsumer","__vitePreload","subscribeTo","channel","mixin","subscriptions","walk","camel","TurboCableStreamSourceElement","signed_stream_name","snakeize","encodeMethodIntoRequestBody","isBodyInit","determineFetchMethod","formMethod","determineFormMethod","overrideMethod","CONTROLLER_FILENAME_REGEX","registerControllers","controllerModules","definitionsFromGlob","definitionFromEntry","controllerModule","identifierForGlobKey","logicalName","userAgent","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","on","off","getParentOrHost","closest","includeCTX","R_SPACE","matrix","selfOnly","appliedTransforms","matrixFn","find","getWindowScrollingElement","scrollingElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","elRect","containerRect","elMatrix","scaleX","scaleY","isScrolledPast","elSide","parentSide","getParentAutoScrollElement","elSideVal","parentSideVal","getChild","childNum","includeDragEl","currentChild","Sortable","lastChild","getRelativeScrollOffset","offsetTop","winScroller","indexOfObject","includeSelf","gotSelf","elemCSS","dst","isRectEqual","rect1","rect2","_throttleTimeout","throttle","cancelThrottle","scrollBy","Polymer","getChildContainingRectFromElement","ghostEl","_rect$left","_rect$top","_rect$right","_rect$bottom","childRect","expando","AnimationStateManager","animationStates","animationCallbackId","fromRect","childMatrix","animating","animationTime","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","currentRect","translateX","translateY","repaint","PluginManager","sortable","eventNameGlobal","pluginName","modified","eventProperties","modifiedValue","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","putSortable","extraEventProperties","onName","allEventProperties","_excluded","pluginEvent","dragEl","parentEl","nextEl","lastDownEl","cloneHidden","moved","_hideGhostForTarget","_unhideGhostForTarget","_dispatchEvent","activeGroup","awaitingDragStarted","ignoreNextClick","sortables","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","pastFirstInvertThresh","isCircumstantialInvert","targetMoveDistance","ghostRelativeParent","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","supportCssPointerEvents","_detectDirection","elCSS","elWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","secondChildWidth","touchingSideChild2","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","group","originalGroup","nearestEmptyInsertDetectEvent","nearest","_checkOutsideTargetEl","preventOnFilter","touch","originalTarget","_saveInputCheckedState","criteria","dragStartFn","_disableDraggable","_nextTick","fallbackTolerance","fallbackOffset","ghostMatrix","relativeScrollOffset","cssMatrix","revert","activeSortable","isOwner","canSort","fromSortable","completedFired","dragOverEvent","completed","_onMove","insertion","elLastChild","_ghostIsLast","_ghostIsFirst","firstChild","targetBeforeFirstSwap","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","_getSwapDirection","sibling","moveVector","_unsilent","_cancelNextTick","_globalDragOver","order","_generateId","useAnimation","willInsertAfter","onMoveFn","retVal","firstElRect","childContainingRect","spacer","lastElRect","swapThreshold","invertedSwapThreshold","invertSwap","isLastTarget","mouseOnAxis","targetS1","targetS2","invert","_getInsertDirection","sum","autoScrolls","scrollRootEl","scrolling","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","AutoScrollPlugin","AutoScroll","clearPointerElemChangedInterval","clearAutoScrolls","autoScroll","ogElemScroller","newElem","isFallback","sens","speed","scrollThisInstance","scrollCustomFn","layersOut","currentParent","scrollWidth","scrollHeight","scrollPosX","scrollPosY","vx","vy","scrollOffsetY","scrollOffsetX","dispatchSortableEvent","hideGhostForTarget","unhideGhostForTarget","toSortable","Revert","_ref3","Remove","_ref4","parentSortable","RequestInterceptor","interceptor","getCookie","cookies","metaContent","stringEntriesFromFormData","mergeEntries","requestInterceptor","baseHeaders","originalQuery","requestQuery","bodyIsAString","patch","flushPending","flushing","queue","lastFlushedIndex","scheduler","queueJob","job","queueFlush","dequeueJob","flushJobs","reactive","shouldSchedule","disableEffectScheduling","setReactivityEngine","engine","overrideEffect","elementBoundEffect","cleanup2","effectReference","firstTime","onAttributeAddeds","onElRemoveds","onElAddeds","onElAdded","onElRemoved","onAttributesAdded","onAttributeRemoved","cleanupAttributes","cleanupElement","onMutate","currentlyObserving","startObservingMutations","stopObservingMutations","flushObserver","queuedMutations","records","queueLengthWhenTriggered","mutateDom","isCollecting","deferredMutations","deferMutations","flushAndStopDeferringMutations","addedNodes","removedNodes","addedAttributes","removedAttributes","add2","remove","attrs","mergeProxies","closestDataStack","addScopeToNode","data2","referenceNode","objects","mergeProxyTrap","thisProxy","collapseProxies","initInterceptors","isObject2","recurse","basePath","enumerable","mutateObj","initialValue","initialize","innerValue","carry","magics","magic","injectMagics","memoizedUtilities","getUtilities","utilities","getElementBoundUtilities","utils","tryCatch","expression","handleError","error2","shouldAutoEvaluateFunctions","dontAutoEvaluateFunctions","extras","evaluateLater","theEvaluatorFunction","normalEvaluator","setEvaluator","newEvaluator","overriddenMagics","dataStack","evaluator","generateEvaluatorFromFunction","generateEvaluatorFromString","scope2","runIfTypeOfFunction","evaluatorMemo","generateFunctionFromString","AsyncFunction","rightSideSafeExpression","func2","completeScope","prefixAsString","subject","setPrefix","newPrefix","directiveHandlers","directive2","directiveOrder","directiveExists","attributes","originalAttributeOverride","vAttributes","staticAttributes","attributesOnly","transformedAttributeMap","toTransformedAttributes","newName","oldName","outNonAlpineAttributes","toParsedDirectives","byPriority","getDirectiveHandler","isDeferringHandlers","directiveHandlerStacks","currentHandlerStackKey","deferHandlingDirectives","flushHandlers","stopDeferring","cleanups","effect3","cleanupEffect","alpine_default","handler4","fullHandler","startingWith","replacement","into","attributeTransformers","mapAttributes","alpineAttributeRegex","typeMatch","valueMatch","modifiers","DEFAULT","typeA","typeB","el2","warn","started","initTree","destroyTree","outNestedComponents","closestRoot","allSelectors","warnAboutMissingPlugins","rootSelectorCallbacks","initSelectorCallbacks","rootSelectors","addRootSelector","selectorCallback","addInitSelector","includeInitSelectors","findClosest","initInterceptors2","interceptInit","markerDispenser","walker","intercept","plugin2","tickStack","isHolding","nextTick","releaseNextTicks","holdNextTicks","setClasses","setClassesFromString","setClassesFromObject","classString","missingClasses","classString2","addClassesAndReturnUndo","classObject","forAdd","forRemove","setStyles","setStylesFromObject","setStylesFromString","previousStyles","value2","once","called","evaluate2","registerTransitionsFromHelper","registerTransitionsFromClassString","stage","registerTransitionObject","doesntSpecify","transitioningIn","transitioningOut","wantsAll","wantsOpacity","wantsScale","opacityValue","scaleValue","modifierValue","origin","durationIn","durationOut","easing","setFunction","show","hide","nextTick2","clickAwayCompatibleShow","closestHide","hideAfterChildren","during","start2","undoStart","undoDuring","undoEnd","performTransition","stages","interrupted","reachedBefore","reachedEnd","finish","isCloning","skipDuringClone","onlyDuringClone","interceptors","interceptClone","cloneNode","dontRegisterReactiveSideEffects","isCloningLegacy","oldEl","newEl","cloneTree","hasRunThroughFirstEl","el3","callback2","storedEffect","camelCase","bindInputValue","bindStyles","bindClasses","bindAttributeAndProperty","bindAttribute","safeParseBoolean","checkedAttrLooseCompare","isCheckbox","updateSelect","setPropertyIfChanged","attributeShouldntBePreservedIfFalsy","isBooleanAttr","setIfChanged","attrName","arrayWrappedValue","booleanAttributes","getBinding","getAttributeBinding","extractProp","extract","later","inThrottle","entangle","outerGet","outerSet","innerGet","innerSet","firstRun","outerHash","cloneIfObject","outerHashLatest","innerHashLatest","stores","isReactive","getStores","binds","bind2","bindings","getBindings","applyBindingsObject","injectBindingProviders","cleanupRunners","datas","injectDataProviders","Alpine","makeMap","expectsLowerCase","EMPTY_OBJ","hasOwn","isMap","toTypeString","isSymbol","toRawType","isIntegerKey","cacheStringFunction","hasChanged","targetMap","effectStack","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","isEffect","effect2","createReactiveEffect","stop","enableTracking","resetTracking","shouldTrack","trackStack","pauseTracking","track","depsMap","dep","oldTarget","effectsToAdd","key2","run","isNonTrackableKeys","builtInSymbols","get2","createGetter","readonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","isReadonly","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","reactive2","set2","createSetter","hadKey","deleteProperty","has","mutableHandlers","readonlyHandlers","toReactive","toReadonly","toShallow","getProto","get$1","isShallow","rawTarget","rawKey","has2","has$1","set$1","get3","checkIdentityKeys","deleteEntry","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","baseHandlers","collectionHandlers","proxyMap","existingProxy","evaluateLater2","unwatch","getArrayOfRefObject","refObjects","globalIdMemo","findAndIncrementId","closestIdRoot","setIdRoot","cacheIdByNameOnElement","warnMissingPluginMagic","magicName","evaluateInnerSet","releaseEntanglement","clone2","placeInDom","clone3","target2","modifiers2","teleportContainerDuringClone","listenerTarget","wrapHandler","dotSyntax","camelCase2","nextModifier","isNumeric","isKeyEvent","isClickEvent","isListeningForASpecificKeyThatHasntBeenPressed","kebabCase2","keyModifiers","debounceIndex","keyToModifiers","selectedSystemKeyModifiers","modifierToKeyMap","scopeTarget","evaluateGet","evaluateSet","isGetterSetter","getInputValue","removeResetListener","safeParseNumber","checkedAttrLooseCompare2","isNumeric2","handler2","bindingProviders","storeKeyForXFor","shouldSkipRegisteringDataDuringClone","magicContext","dataProviderContext","reactiveData","undo","iteratorNames","parseForExpression","evaluateItems","evaluateKey","templateEl","isNumeric3","lookup","prevKeys","getIterationScopeVariables","adds","moves","removes","sames","lastKey","prevIndex","keyInSpot","keyForSpot","elInSpot","elForSpot","lastKey2","lastEl","reactiveScope","newScope","forIteratorRE","stripParensRE","forAliasRE","inMatch","iteratorMatch","scopeVariables","handler3","warnMissingPluginDirective","directiveName","src_default","module_default","defaultConverter","converter","defaultAttributes","stringifiedAttributes","jar","api","TurboMountController","camelToKebabCase","TurboMount","turboMorphEvent","controllerName","hydratedApp","buildRegisterFunction","turboMount","mountProps","registerComponent","SoundSelect","selectedPlaylist","setSelectedPlaylist","selectedSound","setSelectedSound","setAudioFilesWithTitles","fetchAudioFiles","handlePlaylistSelect","playlistName","handleAudioSelect","hiddenField","sortChannelAccounts","channelAccounts","thisCA","isSmallDevices","useDebounce","ChannelAccountImage","isActive","withChannelLogo","withOutline","imageSize","logoSize","classImageSize","hover","dismiss","channelAccountsForBPid","bPid","post","hChannelAccounts","body_provisional_id","Cid","ChannelAccountsUiElement","selectedAccounts","shownAccounts","moreAccounts","ChannelAccountsSelector","switchBodyPocs","showModalForBodyProvId","setShowModalForBodyProvId","destroyEmptyBody","buttonUI","sortedChannelAccounts","selectedTargets","setSelectedTargets","hasPoc","resetError","onAction","allTargetIds","accounts","caId","PostPreview","hContentMedia","mentions","maxChar","maxCM","allSelectedCM","bma","selectedCM","mediaCount","videoCount","cm","generateHtml","generateSpan","isHighlighted","parseMessage","replacements","accMessage","parsedMessage","parsedMentions","validMessage","extraMessage","finalUrl","totalError","errorsToDisplay","inactionStrategyMessage","PublicationManager","setPost","validationObject","hBodies","openModalForPoc","setOpenModalForPoc","reverseMap","updatePostDatetime","stringifiedDate","oneHourFromNow","togglePublish","instantPublish","sortedPosts","erroredPocs","aHasErrors","bHasErrors","updatePoc","post_on_channels_attributes","prevPoc","deletePoc","disabledDate","channelAccount","pocErrors","PocModal","postOnChannel","isConfirmModalOpen","setIsConfirmModalOpen","forcedScheduledAt","fmtForcedScheduledAt","TiktokPubOptions","InstagramPubOptions","settings","setSettings","isSwitchOn","setIsSwitchOn","setErrors","hasValue","setVisibilityOptions","updateSettings","toggleSwitch","visibilityMapping","visibilityOptions","isMusicModalOpen","setIsMusicModalOpen","isErrored","Switch","currentCollab","setCurrentColab","collabs","setCollabs","submitCollab","removeCollab","toRemove","HiddenInput","ListenerType","_delay","_ignoreContextMenu","_enableHoverOutsideTarget","_enableKeyboardEvents","_enableMouseEvents","_enableTouchEvents","ref2","ref3","ref4","ref5","ref6","inAngleRanges","angleRanges","MouseButtons","MouseButton","eventShouldStartDrag","eventShouldEndDrag","isTouchEvent","getEventClientTouchOffset","lastTargetTouchFallback","supportsPassive","eventNames","TouchBackendImpl","listenerType","handleMoveStart","handleMove","droppedOn","childMatch","_evt","moveStartSourceIds","enableHoverOutsideTarget","dragOverTargetNodes","elementsAtPoint","elementsAtPointExtended","orderedDragOverTargetIds","ids","TouchBackend","useIsMobile","setIsMobile","handleWindowSizeChange","FileIcon","CustomCloseButton","onClickEvent","useMultiCloudinaryUpload","uploadingFilesStatus","setUploadingFilesStatus","updateFileStatus","progress","setFiles","addFile","statuses","uploadFiles","totalProgress","ImagePlaceholder","animationProgress","_mergeNamespaces","copyExifWithoutOrientation","getApp1Segment","UZIP","pushV","UPNG","decodeImage","_getBPP","_decompress","_inflate","_filterZero","_paeth","_IHDR","_copyTile","addErr","dither","_main","compressPNG","compress","_prepareDiff","_updateFrame","quantize","_filterLine","getKDtree","getNearest","planeDst","stats","estats","splitPixels","vecDot","set16","set32","seek","convert","CustomFile","CustomFileReader","getFilefromDataUrl","getDataUrlFromFile","loadImage","getBrowserName","approximateBelowMaximumCanvasSizeOfBrowser","getNewCanvasAndCtx","drawImageInCanvas","isIOS","drawFileInCanvas","$Try_2_Post","$Try_2_Catch","$Try_3_Catch","canvasToFile","$If_4","$If_5","$If_6","cleanupCanvasMemory","isAutoOrientationInBrowser","getExifOrientation","handleMaxWidthOrHeight","followExifOrientation","incProgress","setProgress","$If_2","$Loop_3","$Loop_3_exit","compressOnWebWorker","imageCompression","$Try_1_Catch","DraggableMedia","deleteContentMedia","changePosition","dragRef","ContentMediasUploader","setHContentMedia","selectedContentMedias","beforeRemoveFn","afterAddFn","afterMoveFn","lastCMId","newCMs","newId","setAnimationProgress","contentMediaId","contentMedia","newPosition","sortedCM","cmId","sortedCmIds","addCmToBody","realProgress","setIsDragging","fakeProgress","setFakeProgress","requestRef","animate","compressImage","compressedFiles","compressed","CustomPopover","panelClasses","PopoverButton","PopoverPanel","BodyLink","updateBody","useChatGPT","companyContent","setResponse","isWriting","setIsWriting","nextChars","fetchChatGPTResponse","ModalInput","DefaultContext","IconContext","_toPropertyKey","_toPrimitive","Tree2Element","GenIcon","IconBase","conf","svgProps","computedSize","GoRepoForked","DisplayMedia","image","selectedImage","setSelectedImage","insertLogo","logoPosition","logoShape","getPositionClasses","getShapeClasses","pixabay","imageUrl","altText","imageId","selectedImageId","CancelSave","isSaving","onImageSelect","uploadSelectedImage","FaCog","LogoSettings","textToInsertOnImage","setTextToInsertOnImage","textColorOnImage","setTextColorOnImage","setInsertLogo","setLogoPosition","setSelectedLogo","setLogoShape","fetchOverlayImage","shape","removeHash","activeTab","setActiveTab","signaturePosition","setSignaturePosition","signaturePhoto","setSignaturePhoto","signatureFilePhoto","setSignatureFilePhoto","setColor","isLoading","setIsLoading","errorMsg","setErrorMsg","upload","PixabayTab","setQuery","images","selectedLogo","searchImages","searchVideos","loadMoreImages","loadMoreVideos","mediaType","setMediaType","handleSearch","handleLoadMore","MediaLibraryTab","mediaLibrary","imageLibrairy","CanvaTab","refreshTokenRevokedMessage","folders","foldersLoading","selectedFolder","setSelectedFolder","selectedFolderItems","selectedCanvaDesign","setSelectedCanvaDesign","selectedCanvaPages","setSelectedCanvaPages","isExpanded","setIsExpanded","fetchFolderItems","fetchDesignPages","loadMoreRootFolder","fetchRootFolder","rootFolderContinuationString","folderId","folderItem","designImage","page","usePixabaySearch","setIsSaving","defaultSearch","setPage","setImages","urlToFile","filename","getPublicIdFromUrl","regex","uploadAndGetPublicId","signatureResponse","generateAgentOverlay","display_name","phone","baseImage","agentPhoto","gravityMap","fileBaseImage","basePublicId","agentPhotoPublicId","overlayPosition","userEmail","phoneNumber","insertLogoOnMedium","baseFile","logoPublicId","radiusMap","encodedText","formatTextForCloudinary","transformedUrl","finalFiles","pageFile","finalImageFile","prevImages","useCanva","canvaSessionState","isRootSelected","setRootFolderContinuationString","setRootFolder","setFoldersLoading","setCanvaSessionState","setRefreshTokenRevokedMessage","setFolders","setFolderContinuation","setSelectedFolderItems","refreshAccessToken","designId","CanvaLogo","MediaModal","canvaSession","setMediaLibrary","rootFolder","folderContinuation","setIsRootSelected","fetchAllFolders","boldMap","italicMap","transformText","finalStyle","transformedChar","useTextStyles","isBold","setIsBold","isItalic","setIsItalic","toggleBold","reverseBoldMap","normalChar","boldChar","reverseItalicMap","italicChar","isBoldText","isItalicText","revertBoldText","revertItalicText","toggleItalic","handleInput","applySelectedStyle","reverted","transformed","useMentionsAndVariables","parsedInput","mentionName","variableValue","VariableSelector","variableLength","BodyEditor","setHBodies","onDuplication","onRemoval","isLast","isStephanePlazaAccount","targetsSelectorRenderer","defaultPictureSearch","mentionSelectorRenderer","originalId","originalCmPidByBmId","bm","pid","duplicateBody","newBodyPid","body_media_attributes","deleteBody","keep","bodyId","contentMediaIds","thisbody","lastCMPosition","newBodyContentMedias","bodyProvisionalId","thisBody","currentPosition","diffPosition","openCmModal","setOpenCmModal","openMediaModal","setOpenMediaModal","fakeInputRef","inserted_length","normalizeMentionsAndVariables","gptSelectionStart","setGptSelectionStart","textAfterSelection","setTextAfterSelection","showAiModal","setShowAiModal","gptError","gptIsWriting","gptResponse","showSmartLinkModal","setShowSmartLinkModal","smartLinkUrl","setSmartLinkUrl","smartLinkLoading","setSmartLinkLoading","smartLinkError","setSmartLinkError","toggleSmartlinkModal","removeLink","newPidForH","replaceBodyWithRemote","resBody","existingCm","newCmPid","body_media","onChangeTextArea","bodyCta","updatePostType","prevBodies","generateMentionOrVariableSpans","displayMentionOrVariableNames","provisionalMessage","setProvisionalMessage","BodyMediaInputs","contentMediaPids","destroyables","destIndex","cmPid","usePubValidation","bcgs","createNewBodyForGroup","deleteGroup","channelConstraints","setReverseMap","hasNewErrors","setHasNewErrors","addError","errorList","reverseList","chan","errIdentifier","fullIdentifier","affectedTargets","currentKeys","validationRules","buildConstraintsErrors","constraints","channelIdentifier","channelName","constraint","shouldBe","validationRule","evaluation","rawMsg","inactionStrategyMsg","bodyMediaPid","urlWithVariables","bcg","ErrorDisplayer","errorCount","errorVisible","setErrorVisible","findEntitiesInfo","LoadingUI","MentionSelector","showSelector","setGlobalMentions","uniqChannelAccounts","seenChannels","selectedChannel","setSelectedChannel","setCurrentCollab","entities","setEntities","submitMention","insertMention","mention","thisPOC","mentionKey","entity","PostStateManager","mobileTabs","activeMobileTab","setActiveMobileTab","setMentions","showMentionSelector","setShowMentionSelector","memoMentionSelectorRenderer","pocsForThisBody","bodyHasLinkedinCA","originalPocsByCa","finalPocs","remainsTargetIds","ca_id","defaultValuesForChannel","pocsBPid","createNewBodyForPocGroup","link_url","setDesktopActiveBody","deletePocGroup","newBodyPids","iPid","destroyBody","sortedBodyKeys","onBodyRemoval","bodyPid","lastBodyId","bId","onBodyDuplication","desktopActiveBody","channelAccountId","ChannelIdentifier","memoizedSelectorRenderer","showInfoMessage","setShowInfoMessage","submit","draft","tab","PostOnChannelInputs","ContentMediaInputs","postOnChannels","channelAccountIds","forced_scheduled_at","channel_specific_data","NestedDataInputs","channelNames","CCForm","setContent","originalBcgIds","switchBody","body_channel_groups_attributes","remainingChans","bcgBPid","deleteChannelGroup","createNewBodyForChannelGroup","ChannelsUiElement","BcgInputs","channelsForBPid","selectedChannels","hasChannels","translate","Turbo.start","Cookies","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","__vite_glob_0_7","__vite_glob_0_8","__vite_glob_0_9","__vite_glob_0_10","__vite_glob_0_11","__vite_glob_0_12","__vite_glob_0_13","__vite_glob_0_14","__vite_glob_0_15","__vite_glob_0_16","__vite_glob_0_17","__vite_glob_0_18","__vite_glob_0_19","__vite_glob_0_20","__vite_glob_0_21","__vite_glob_0_22","__vite_glob_0_23","__vite_glob_0_24","__vite_glob_0_25","PasswordVisibility","Reveal"],"ignoreList":[0,1,2,3,5,6,7,8,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,394,401,402,403,404,405,406,407,408,409,410,411,412,418,422,424,425,427,428,430,444,445,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,475,476,477,478,479,480,481,482,487,489,495,496,497,500],"sources":["../../../node_modules/@hotwired/stimulus/dist/stimulus.js","../../../node_modules/@hotwired/turbo/dist/turbo.es2017-esm.js","../../../node_modules/react/cjs/react.production.min.js","../../../node_modules/react/index.js","../../../app/javascript/controllers/calendar_controller.js","../../../node_modules/@kurkle/color/dist/color.esm.js","../../../node_modules/chart.js/dist/chunks/helpers.segment.js","../../../node_modules/chart.js/dist/chart.js","../../../node_modules/chart.js/auto/auto.js","../../../app/javascript/controllers/chart_controller.js","../../../app/javascript/controllers/cloudinary_uploader_2_controller.js","../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/scheduler/index.js","../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/react-dom/index.js","../../../node_modules/react-dom/client.js","../../../app/javascript/components/utils/various.ts","../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@formatjs/fast-memoize/lib/index.js","../../../node_modules/@formatjs/ecma402-abstract/lib/utils.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../../../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../../../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../../../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../../../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../../../node_modules/intl-messageformat/lib/src/error.js","../../../node_modules/intl-messageformat/lib/src/formatters.js","../../../node_modules/intl-messageformat/lib/src/core.js","../../../node_modules/@formatjs/intl/lib/src/error.js","../../../node_modules/@formatjs/intl/lib/src/utils.js","../../../node_modules/@formatjs/intl/lib/src/message.js","../../../node_modules/@formatjs/intl/lib/src/dateTime.js","../../../node_modules/@formatjs/intl/lib/src/displayName.js","../../../node_modules/@formatjs/intl/lib/src/list.js","../../../node_modules/@formatjs/intl/lib/src/plural.js","../../../node_modules/@formatjs/intl/lib/src/relativeTime.js","../../../node_modules/@formatjs/intl/lib/src/number.js","../../../node_modules/@formatjs/intl/lib/src/create-intl.js","../../../node_modules/react-intl/lib/src/utils.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/index.js","../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../node_modules/react-intl/lib/src/components/injectIntl.js","../../../node_modules/react-intl/lib/src/components/useIntl.js","../../../node_modules/react-intl/lib/src/components/createFormattedComponent.js","../../../node_modules/react-intl/lib/src/components/createIntl.js","../../../node_modules/react-intl/lib/src/components/provider.js","../../../node_modules/react-intl/lib/src/components/message.js","../../../node_modules/react-intl/lib/index.js","../../../node_modules/immutability-helper/index.js","../../../node_modules/@cloudinary/react/index.js","../../../node_modules/@cloudinary/url-gen/config/BaseConfig.js","../../../node_modules/@cloudinary/url-gen/internal/internalConstants.js","../../../node_modules/@cloudinary/url-gen/config/URLConfig.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/qualifier/QualifierValue.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/utils/unsupportedError.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/qualifierToJson.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/QualifierModel.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/qualifier/Qualifier.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/flag/FlagQualifier.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/utils/dataStructureUtils.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/actionToJson.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/ActionModel.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/Action.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/utils/prepareColor.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/background/actions/BackgroundColor.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/RawAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/IErrorObject.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/flag.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/format/FormatQualifier.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/utils/objectFlip.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/internalConstants.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/delivery/DeliveryAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/progressive.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/delivery/DeliveryFormatAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/transformation/Transformation.js","../../../node_modules/@cloudinary/transformation-builder-sdk/transformation/ImageTransformation.js","../../../node_modules/@cloudinary/transformation-builder-sdk/transformation/VideoTransformation.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/utils/toFloatAsString.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/aspectRatio/AspectRatioQualifierValue.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize/ResizeSimpleAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity/GravityQualifier.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity/autoGravity/AutoGravity.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity/focusOnGravity/FocusOnGravity.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity/compassGravity/CompassGravity.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity/qualifiers/focusOn/FocusOnValue.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/focusOn.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/createGravityModel.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/autoFocus.js","../../../node_modules/@cloudinary/transformation-builder-sdk/qualifiers/gravity/qualifiers/compass/CompassQualifier.js","../../../node_modules/@cloudinary/transformation-builder-sdk/internal/models/createGravityFromModel.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize/ResizeAdvancedAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize/ResizeScaleAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize/ThumbnailAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize/ResizeCropAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize/ResizeFillAction.js","../../../node_modules/@cloudinary/transformation-builder-sdk/actions/resize.js","../../../node_modules/@cloudinary/url-gen/internal/url/urlUtils/isUrl.js","../../../node_modules/@cloudinary/url-gen/internal/url/urlUtils/isFileName.js","../../../node_modules/@cloudinary/url-gen/internal/url/urlUtils/publicIDContainsVersion.js","../../../node_modules/@cloudinary/url-gen/internal/url/cloudinaryURL.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/stringPad.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/base64Map.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/reverseVersion.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/padVersion.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/encodeVersion.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/getAnalyticsOptions.js","../../../node_modules/@cloudinary/url-gen/internal/utils/packageVersion.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/encodeOSVersion.js","../../../node_modules/@cloudinary/url-gen/sdkAnalytics/getSDKAnalyticsSignature.js","../../../node_modules/@cloudinary/url-gen/assets/CloudinaryFile.js","../../../node_modules/@cloudinary/url-gen/assets/CloudinaryTransformable.js","../../../node_modules/@cloudinary/url-gen/assets/CloudinaryImage.js","../../../node_modules/@cloudinary/url-gen/assets/CloudinaryVideo.js","../../../node_modules/@cloudinary/url-gen/instance/Cloudinary.js","../../../node_modules/react-dnd/dist/core/DndContext.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/redux/es/redux.js","../../../node_modules/@react-dnd/invariant/dist/index.js","../../../node_modules/dnd-core/dist/utils/js_utils.js","../../../node_modules/dnd-core/dist/actions/dragDrop/types.js","../../../node_modules/dnd-core/dist/actions/dragDrop/local/setClientOffset.js","../../../node_modules/dnd-core/dist/actions/dragDrop/beginDrag.js","../../../node_modules/dnd-core/dist/actions/dragDrop/drop.js","../../../node_modules/dnd-core/dist/actions/dragDrop/endDrag.js","../../../node_modules/dnd-core/dist/utils/matchesType.js","../../../node_modules/dnd-core/dist/actions/dragDrop/hover.js","../../../node_modules/dnd-core/dist/actions/dragDrop/publishDragSource.js","../../../node_modules/dnd-core/dist/actions/dragDrop/index.js","../../../node_modules/dnd-core/dist/classes/DragDropManagerImpl.js","../../../node_modules/dnd-core/dist/utils/coords.js","../../../node_modules/dnd-core/dist/utils/dirtiness.js","../../../node_modules/dnd-core/dist/classes/DragDropMonitorImpl.js","../../../node_modules/@react-dnd/asap/dist/makeRequestCall.js","../../../node_modules/@react-dnd/asap/dist/AsapQueue.js","../../../node_modules/@react-dnd/asap/dist/RawTask.js","../../../node_modules/@react-dnd/asap/dist/TaskFactory.js","../../../node_modules/@react-dnd/asap/dist/asap.js","../../../node_modules/dnd-core/dist/actions/registry.js","../../../node_modules/dnd-core/dist/contracts.js","../../../node_modules/dnd-core/dist/interfaces.js","../../../node_modules/dnd-core/dist/utils/getNextUniqueId.js","../../../node_modules/dnd-core/dist/classes/HandlerRegistryImpl.js","../../../node_modules/dnd-core/dist/utils/equality.js","../../../node_modules/dnd-core/dist/reducers/dirtyHandlerIds.js","../../../node_modules/dnd-core/dist/reducers/dragOffset.js","../../../node_modules/dnd-core/dist/reducers/dragOperation.js","../../../node_modules/dnd-core/dist/reducers/refCount.js","../../../node_modules/dnd-core/dist/reducers/stateId.js","../../../node_modules/dnd-core/dist/reducers/index.js","../../../node_modules/dnd-core/dist/createDragDropManager.js","../../../node_modules/react-dnd/dist/core/DndProvider.js","../../../node_modules/fast-deep-equal/index.js","../../../node_modules/react-dnd/dist/hooks/useIsomorphicLayoutEffect.js","../../../node_modules/react-dnd/dist/hooks/useCollector.js","../../../node_modules/react-dnd/dist/hooks/useMonitorOutput.js","../../../node_modules/react-dnd/dist/hooks/useCollectedProps.js","../../../node_modules/react-dnd/dist/hooks/useOptionalFactory.js","../../../node_modules/react-dnd/dist/hooks/useDrag/connectors.js","../../../node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js","../../../node_modules/react-dnd/dist/internals/DropTargetMonitorImpl.js","../../../node_modules/react-dnd/dist/internals/registration.js","../../../node_modules/@react-dnd/shallowequal/dist/index.js","../../../node_modules/react-dnd/dist/internals/isRef.js","../../../node_modules/react-dnd/dist/internals/wrapConnectorHooks.js","../../../node_modules/react-dnd/dist/internals/SourceConnector.js","../../../node_modules/react-dnd/dist/internals/TargetConnector.js","../../../node_modules/react-dnd/dist/hooks/useDragDropManager.js","../../../node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js","../../../node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js","../../../node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js","../../../node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js","../../../node_modules/react-dnd/dist/hooks/useDrag/useDragType.js","../../../node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js","../../../node_modules/react-dnd/dist/hooks/useDrag/useDrag.js","../../../node_modules/react-dnd/dist/hooks/useDrop/connectors.js","../../../node_modules/react-dnd/dist/hooks/useDrop/useDropTargetConnector.js","../../../node_modules/react-dnd/dist/hooks/useDrop/useDropTargetMonitor.js","../../../node_modules/react-dnd/dist/hooks/useDrop/useAccept.js","../../../node_modules/react-dnd/dist/hooks/useDrop/DropTargetImpl.js","../../../node_modules/react-dnd/dist/hooks/useDrop/useDropTarget.js","../../../node_modules/react-dnd/dist/hooks/useDrop/useRegisteredDropTarget.js","../../../node_modules/react-dnd/dist/hooks/useDrop/useDrop.js","../../../node_modules/react-dnd-html5-backend/dist/utils/js_utils.js","../../../node_modules/react-dnd-html5-backend/dist/EnterLeaveCounter.js","../../../node_modules/react-dnd-html5-backend/dist/NativeDragSources/NativeDragSource.js","../../../node_modules/react-dnd-html5-backend/dist/NativeTypes.js","../../../node_modules/react-dnd-html5-backend/dist/NativeDragSources/getDataFromDataTransfer.js","../../../node_modules/react-dnd-html5-backend/dist/NativeDragSources/nativeTypesConfig.js","../../../node_modules/react-dnd-html5-backend/dist/NativeDragSources/index.js","../../../node_modules/react-dnd-html5-backend/dist/BrowserDetector.js","../../../node_modules/react-dnd-html5-backend/dist/MonotonicInterpolant.js","../../../node_modules/react-dnd-html5-backend/dist/OffsetUtils.js","../../../node_modules/react-dnd-html5-backend/dist/OptionsReader.js","../../../node_modules/react-dnd-html5-backend/dist/HTML5BackendImpl.js","../../../node_modules/react-dnd-html5-backend/dist/index.js","../../../app/javascript/components/useCloudinaryUpload.tsx","../../../app/javascript/types/index.tsx","../../../app/javascript/components/ContentMediaUploader.tsx","../../../app/javascript/controllers/cloudinary_uploader_controller.tsx","../../../node_modules/react-hook-form/dist/index.esm.mjs","../../../node_modules/graphql-request/build/esm/defaultJsonSerializer.js","../../../node_modules/graphql-request/build/esm/helpers.js","../../../node_modules/graphql-request/build/esm/parseArgs.js","../../../node_modules/graphql/jsutils/devAssert.mjs","../../../node_modules/graphql/jsutils/isObjectLike.mjs","../../../node_modules/graphql/jsutils/invariant.mjs","../../../node_modules/graphql/language/location.mjs","../../../node_modules/graphql/language/printLocation.mjs","../../../node_modules/graphql/error/GraphQLError.mjs","../../../node_modules/graphql/error/syntaxError.mjs","../../../node_modules/graphql/language/ast.mjs","../../../node_modules/graphql/language/directiveLocation.mjs","../../../node_modules/graphql/language/kinds.mjs","../../../node_modules/graphql/language/characterClasses.mjs","../../../node_modules/graphql/language/blockString.mjs","../../../node_modules/graphql/language/tokenKind.mjs","../../../node_modules/graphql/language/lexer.mjs","../../../node_modules/graphql/jsutils/inspect.mjs","../../../node_modules/graphql/jsutils/instanceOf.mjs","../../../node_modules/graphql/language/source.mjs","../../../node_modules/graphql/language/parser.mjs","../../../node_modules/graphql/language/printString.mjs","../../../node_modules/graphql/language/visitor.mjs","../../../node_modules/graphql/language/printer.mjs","../../../node_modules/graphql-request/build/esm/resolveRequestDocument.js","../../../node_modules/graphql-request/build/esm/types.js","../../../node_modules/cross-fetch/dist/browser-ponyfill.js","../../../node_modules/graphql-request/build/esm/index.js","../../../node_modules/@heroicons/react/24/solid/esm/BoltIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/CameraIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/ChevronDownIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/ChevronRightIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/ChevronUpIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/CloudArrowDownIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/EllipsisHorizontalIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/EllipsisVerticalIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/ExclamationCircleIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/ExclamationTriangleIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/EyeDropperIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/EyeIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/LinkIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/PaperAirplaneIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/PhotoIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/PlayIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/PlusIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/RectangleGroupIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/SparklesIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/TrashIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/UserCircleIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/UsersIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/VideoCameraIcon.js","../../../node_modules/@heroicons/react/24/solid/esm/XMarkIcon.js","../../../app/javascript/components/FacebookPreview.tsx","../../../node_modules/@heroicons/react/24/outline/esm/BeakerIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/CloudArrowDownIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/EllipsisVerticalIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/ExclamationTriangleIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/FaceSmileIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/GlobeAltIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/MagnifyingGlassIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/PhotoIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/SparklesIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/TrashIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/UserCircleIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/UsersIcon.js","../../../node_modules/@heroicons/react/24/outline/esm/XMarkIcon.js","../../../node_modules/emoji-mart/dist/module.js","../../../node_modules/@emoji-mart/react/dist/module.js","../../../app/javascript/components/InsertableTextInput.tsx","../../../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","../../../node_modules/@react-aria/utils/dist/useEffectEvent.mjs","../../../node_modules/@react-aria/utils/dist/domHelpers.mjs","../../../node_modules/@react-aria/utils/dist/platform.mjs","../../../node_modules/@react-aria/utils/dist/isVirtualEvent.mjs","../../../node_modules/@react-aria/interactions/dist/utils.mjs","../../../node_modules/@react-aria/interactions/dist/useFocus.mjs","../../../node_modules/@react-aria/interactions/dist/useFocusVisible.mjs","../../../node_modules/@react-aria/interactions/dist/useFocusWithin.mjs","../../../node_modules/@react-aria/interactions/dist/useHover.mjs","../../../node_modules/@react-aria/focus/dist/useFocusRing.mjs","../../../node_modules/@headlessui/react/dist/utils/env.js","../../../node_modules/@headlessui/react/dist/utils/owner.js","../../../node_modules/@headlessui/react/dist/utils/micro-task.js","../../../node_modules/@headlessui/react/dist/utils/disposables.js","../../../node_modules/@headlessui/react/dist/hooks/use-disposables.js","../../../node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js","../../../node_modules/@headlessui/react/dist/hooks/use-latest-value.js","../../../node_modules/@headlessui/react/dist/hooks/use-event.js","../../../node_modules/@headlessui/react/dist/hooks/use-active-press.js","../../../node_modules/@headlessui/react/dist/internal/disabled.js","../../../node_modules/@headlessui/react/dist/utils/class-names.js","../../../node_modules/@headlessui/react/dist/utils/match.js","../../../node_modules/@headlessui/react/dist/utils/render.js","../../../node_modules/@headlessui/react/dist/hooks/use-controllable.js","../../../node_modules/@headlessui/react/dist/hooks/use-default-value.js","../../../node_modules/@headlessui/react/dist/utils/form.js","../../../node_modules/@headlessui/react/dist/internal/hidden.js","../../../node_modules/@headlessui/react/dist/internal/form-fields.js","../../../node_modules/@headlessui/react/dist/internal/id.js","../../../node_modules/@headlessui/react/dist/utils/bugs.js","../../../node_modules/@headlessui/react/dist/hooks/use-sync-refs.js","../../../node_modules/@headlessui/react/dist/components/description/description.js","../../../node_modules/@headlessui/react/dist/components/keyboard.js","../../../node_modules/@headlessui/react/dist/components/label/label.js","../../../node_modules/@headlessui/react/dist/internal/close-provider.js","../../../node_modules/@headlessui/react/dist/hooks/use-by-comparator.js","../../../node_modules/@headlessui/react/dist/hooks/use-element-size.js","../../../node_modules/@headlessui/react/dist/utils/default-map.js","../../../node_modules/@headlessui/react/dist/utils/store.js","../../../node_modules/@headlessui/react/dist/hooks/use-store.js","../../../node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js","../../../node_modules/@headlessui/react/dist/hooks/use-inert-others.js","../../../node_modules/@headlessui/react/dist/hooks/use-on-disappear.js","../../../node_modules/@headlessui/react/dist/utils/focus-management.js","../../../node_modules/@headlessui/react/dist/utils/platform.js","../../../node_modules/@headlessui/react/dist/hooks/use-document-event.js","../../../node_modules/@headlessui/react/dist/hooks/use-window-event.js","../../../node_modules/@headlessui/react/dist/hooks/use-outside-click.js","../../../node_modules/@headlessui/react/dist/hooks/use-owner.js","../../../node_modules/@headlessui/react/dist/hooks/use-event-listener.js","../../../node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js","../../../node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js","../../../node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js","../../../node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js","../../../node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js","../../../node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js","../../../node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js","../../../node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js","../../../node_modules/@headlessui/react/dist/hooks/use-flags.js","../../../node_modules/@headlessui/react/dist/hooks/use-transition.js","../../../node_modules/@headlessui/react/dist/hooks/use-watch.js","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../node_modules/@headlessui/react/dist/internal/floating.js","../../../node_modules/@headlessui/react/dist/internal/frozen.js","../../../node_modules/@headlessui/react/dist/internal/open-closed.js","../../../node_modules/@headlessui/react/dist/utils/document-ready.js","../../../node_modules/@headlessui/react/dist/utils/active-element-history.js","../../../node_modules/@headlessui/react/dist/utils/calculate-active-index.js","../../../node_modules/@headlessui/react/dist/hooks/use-on-unmount.js","../../../node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js","../../../node_modules/@headlessui/react/dist/internal/portal-force-root.js","../../../node_modules/@headlessui/react/dist/components/portal/portal.js","../../../node_modules/@headlessui/react/dist/hooks/use-escape.js","../../../node_modules/@headlessui/react/dist/hooks/use-is-touch-device.js","../../../node_modules/@headlessui/react/dist/hooks/use-root-containers.js","../../../node_modules/@headlessui/react/dist/hooks/use-is-mounted.js","../../../node_modules/@headlessui/react/dist/hooks/use-tab-direction.js","../../../node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js","../../../node_modules/@headlessui/react/dist/components/transition/transition.js","../../../node_modules/@headlessui/react/dist/components/dialog/dialog.js","../../../node_modules/@headlessui/react/dist/hooks/use-did-element-move.js","../../../node_modules/@headlessui/react/dist/utils/get-text-value.js","../../../node_modules/@headlessui/react/dist/hooks/use-text-value.js","../../../node_modules/@headlessui/react/dist/components/listbox/listbox.js","../../../node_modules/@headlessui/react/dist/components/popover/popover.js","../../../node_modules/@headlessui/react/dist/components/switch/switch.js","../../../node_modules/@heroicons/react/20/solid/esm/CheckIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/ChevronDownIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/ChevronRightIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/ChevronUpDownIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/ExclamationCircleIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/InboxArrowDownIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/LinkIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/PaperAirplaneIcon.js","../../../node_modules/@heroicons/react/20/solid/esm/XMarkIcon.js","../../../app/javascript/components/Select.tsx","../../../app/javascript/components/FormField.tsx","../../../app/javascript/components/ChoiceButton.tsx","../../../app/javascript/components/Spinner.tsx","../../../app/javascript/components/OpenAiForm.tsx","../../../app/javascript/components/UrlScraper.tsx","../../../app/javascript/components/FormLayout.tsx","../../../app/javascript/hook/useOpenAI.ts","../../../app/javascript/hook/useUserChoice.ts","../../../app/javascript/components/TextArea.tsx","../../../app/javascript/utils/computeFocus.ts","../../../app/javascript/components/CompanyContentForm.tsx","../../../app/javascript/controllers/company_content_form_controller.tsx","../../../app/javascript/components/ColorPicker.tsx","../../../app/javascript/components/Input.tsx","../../../node_modules/react-image-crop/dist/index.js","../../../app/javascript/components/Modal.tsx","../../../app/javascript/components/ProfilePictureEditor.tsx","../../../app/javascript/components/CompanyForm.tsx","../../../app/javascript/controllers/company_form_controller.tsx","../../../app/javascript/components/FocusSelector.tsx","../../../app/javascript/components/TagSelector.tsx","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/flatpickr/dist/esm/types/options.js","../../../node_modules/flatpickr/dist/esm/l10n/default.js","../../../node_modules/flatpickr/dist/esm/utils/index.js","../../../node_modules/flatpickr/dist/esm/utils/dom.js","../../../node_modules/flatpickr/dist/esm/utils/formatting.js","../../../node_modules/flatpickr/dist/esm/utils/dates.js","../../../node_modules/flatpickr/dist/esm/utils/polyfills.js","../../../node_modules/flatpickr/dist/esm/index.js","../../../node_modules/react-flatpickr/build/index.js","../../../app/javascript/components/DatePicker.tsx","../../../app/javascript/components/ContentForm.tsx","../../../app/javascript/controllers/content_form_controller.tsx","../../../app/javascript/controllers/content_redirect_controller.js","../../../app/javascript/controllers/creator_video_controller.js","../../../node_modules/@csvbox/csvboxjs/index.js","../../../app/javascript/controllers/csv_box_controller.js","../../../app/javascript/components/DanimLoaderButton.tsx","../../../app/javascript/controllers/danim_loader_controller.tsx","../../../node_modules/@stimulus-components/dialog/dist/stimulus-dialog.mjs","../../../app/javascript/controllers/dialog_controller.js","../../../node_modules/stimulus-popover/dist/stimulus-popover.mjs","../../../node_modules/stimulus-use/dist/index.js","../../../app/javascript/controllers/fix_popover_controller.js","../../../node_modules/stimulus-flatpickr/dist/index.m.js","../../../node_modules/flatpickr/dist/l10n/fr.js","../../../app/javascript/controllers/flatpickr_controller.js","../../../node_modules/flatpickr/dist/plugins/weekSelect/weekSelect.js","../../../app/javascript/controllers/flatpickr_week_controller.js","../../../app/javascript/controllers/floating_menu_controller.js","../../../app/javascript/controllers/hello_controller.js","../../../app/javascript/controllers/highlighted_input_controller.js","../../../app/javascript/controllers/mail_templates_controller.js","../../../app/javascript/controllers/newsletters_controller.js","../../../app/javascript/controllers/node_duplicator_controller.js","../../../app/javascript/components/channelIcons.tsx","../../../app/javascript/components/ChannelSelector.tsx","../../../app/javascript/components/Publisher/PostGeneratorForm.tsx","../../../app/javascript/controllers/post_generator_form_controller.tsx","../../../app/javascript/controllers/search_companies_controller.js","../../../app/javascript/controllers/side_panel_controller.js","../../../node_modules/wavesurfer.js/dist/wavesurfer.esm.js","../../../node_modules/wavesurfer.js/dist/plugins/regions.esm.js","../../../app/javascript/controllers/sound_select_controller.jsx","../../../app/javascript/controllers/stonly_controller.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/cable.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/snakeize.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/cable_stream_source_element.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/fetch_requests.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/index.js","../../../node_modules/stimulus-vite-helpers/dist/index.js","../../../node_modules/stimulus-password-visibility/dist/stimulus-password-visibility.mjs","../../../node_modules/stimulus-reveal-controller/dist/stimulus-reveal-controller.mjs","../../../node_modules/sortablejs/modular/sortable.esm.js","../../../node_modules/@rails/request.js/src/fetch_response.js","../../../node_modules/@rails/request.js/src/request_interceptor.js","../../../node_modules/@rails/request.js/src/lib/utils.js","../../../node_modules/@rails/request.js/src/fetch_request.js","../../../node_modules/@rails/request.js/src/verbs.js","../../../node_modules/stimulus-sortable/dist/stimulus-sortable.mjs","../../../node_modules/alpinejs/dist/module.esm.js","../../../node_modules/js-cookie/dist/js.cookie.mjs","../../../node_modules/turbo-mount/dist/turbo-mount.js","../../../node_modules/turbo-mount/dist/plugins/react.js","../../../app/javascript/components/SoundSelect.tsx","../../../app/javascript/utils/various.ts","../../../app/javascript/components/ChannelAccountImage.tsx","../../../app/javascript/components/Tooltip.tsx","../../../app/javascript/components/ChannelAccountBodyComponents.tsx","../../../app/javascript/components/Publisher/PostPreview.tsx","../../../app/javascript/components/Publisher/PublicationManager.tsx","../../../app/javascript/components/DynamicFormGenerator.tsx","../../../node_modules/react-dnd-touch-backend/dist/interfaces.js","../../../node_modules/react-dnd-touch-backend/dist/OptionsReader.js","../../../node_modules/react-dnd-touch-backend/dist/utils/math.js","../../../node_modules/react-dnd-touch-backend/dist/utils/predicates.js","../../../node_modules/react-dnd-touch-backend/dist/utils/offsets.js","../../../node_modules/react-dnd-touch-backend/dist/utils/supportsPassive.js","../../../node_modules/react-dnd-touch-backend/dist/TouchBackendImpl.js","../../../node_modules/react-dnd-touch-backend/dist/index.js","../../../app/javascript/hook/useIsMobile.ts","../../../app/javascript/components/icons.tsx","../../../app/javascript/components/CustomCloseButton.tsx","../../../app/javascript/components/useMultiCloudinaryUpload.tsx","../../../node_modules/@heroicons/react/16/solid/esm/CheckIcon.js","../../../app/javascript/components/ImagePlaceholder.tsx","../../../node_modules/browser-image-compression/dist/browser-image-compression.mjs","../../../app/javascript/components/ContentMediasUploader.tsx","../../../app/javascript/components/Popover.tsx","../../../app/javascript/components/BodyLinks.tsx","../../../app/javascript/hook/useChatGpt.ts","../../../app/javascript/components/ModalInput.tsx","../../../node_modules/react-icons/lib/iconContext.mjs","../../../node_modules/react-icons/lib/iconBase.mjs","../../../node_modules/react-icons/go/index.mjs","../../../app/javascript/components/_DisplayMedia.tsx","../../../app/javascript/components/_CancelSave.tsx","../../../node_modules/react-icons/fa/index.mjs","../../../app/javascript/components/_LogoSettings.tsx","../../../app/javascript/components/MediaModal/PixabayTabs.tsx","../../../app/javascript/components/MediaModal/MediaLibraryTabs.tsx","../../../app/javascript/components/MediaModal/CanvaTab.tsx","../../../app/javascript/hook/usePixabaySearch.ts","../../../app/javascript/hook/useCanva.ts","../../../app/assets/images/CanvaIcon.png","../../../app/javascript/components/MediaModal/MediaModal.tsx","../../../app/javascript/hook/useTextStyles.ts","../../../app/javascript/components/utils/publisher/utils.tsx","../../../app/javascript/components/Publisher/variables/VariableSelector.tsx","../../../app/javascript/components/BodyEditor.tsx","../../../app/javascript/components/usePubValidation.ts","../../../app/javascript/components/ErrorDisplayer.tsx","../../../app/javascript/components/Publisher/mentions/actions/EntitiesFetcher.ts","../../../app/javascript/components/LoadingUI.tsx","../../../app/javascript/components/Publisher/mentions/MentionSelector.tsx","../../../app/javascript/components/Publisher/PostStateManager.tsx","../../../app/javascript/components/CCForm.tsx","../../../app/javascript/turbo-mount.js","../../../app/javascript/entrypoints/application.js"],"sourcesContent":["/*\nStimulus 3.2.1\nCopyright © 2023 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(?:([^.]+?)\\+)?(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[2];\n let keyFilter = matches[3];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName,\n eventOptions: matches[7] ? parseEventOptions(matches[7]) : {},\n identifier: matches[5],\n methodName: matches[6],\n keyFilter: matches[1] || keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nfunction isSomething(object) {\n return object !== null && object !== undefined;\n}\nfunction hasProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nconst allModifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n shouldIgnoreKeyboardEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = this.keyFilter.split(\"+\");\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n const standardFilter = filters.filter((key) => !allModifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!hasProperty(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n shouldIgnoreMouseEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = [this.keyFilter];\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n return false;\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n keyFilterDissatisfied(event, filters) {\n const [meta, ctrl, alt, shift] = allModifiers.map((modifier) => filters.includes(modifier));\n return event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n const actionEvent = this.prepareActionEvent(event);\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(actionEvent)) {\n this.invokeWithEvent(actionEvent);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n const { controller } = this.context;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element, controller });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n prepareActionEvent(event) {\n return Object.assign(event, { params: this.action.params });\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n this.method.call(this.controller, event);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.shouldIgnoreKeyboardEvent(event)) {\n return false;\n }\n if (event instanceof MouseEvent && this.action.shouldIgnoreMouseEvent(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(element, attributeName) {\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details) {\n this._selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n get selector() {\n return this._selector;\n }\n set selector(selector) {\n this._selector = selector;\n this.refresh();\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const { selector } = this;\n if (selector) {\n const matches = element.matches(selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n else {\n return false;\n }\n }\n matchElementsInTree(tree) {\n const { selector } = this;\n if (selector) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n else {\n return [];\n }\n }\n elementMatched(element) {\n const { selector } = this;\n if (selector) {\n this.selectorMatched(element, selector);\n }\n }\n elementUnmatched(element) {\n const selectors = this.matchesByElement.getKeysForValue(element);\n for (const selector of selectors) {\n this.selectorUnmatched(element, selector);\n }\n }\n elementAttributeChanged(element, _attributeName) {\n const { selector } = this;\n if (selector) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(selector, element);\n if (matches && !matchedBefore) {\n this.selectorMatched(element, selector);\n }\n else if (!matches && matchedBefore) {\n this.selectorUnmatched(element, selector);\n }\n }\n }\n selectorMatched(element, selector) {\n this.delegate.selectorMatched(element, selector, this.details);\n this.matchesByElement.add(selector, element);\n }\n selectorUnmatched(element, selector) {\n this.delegate.selectorUnmatched(element, selector, this.details);\n this.matchesByElement.delete(selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.started = false;\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n this.attributeObserverMap = new Map();\n }\n start() {\n if (!this.started) {\n this.outletDefinitions.forEach((outletName) => {\n this.setupSelectorObserverForOutlet(outletName);\n this.setupAttributeObserverForOutlet(outletName);\n });\n this.started = true;\n this.dependentContexts.forEach((context) => context.refresh());\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n this.attributeObserverMap.forEach((observer) => observer.refresh());\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.disconnectAllOutlets();\n this.stopSelectorObservers();\n this.stopAttributeObservers();\n }\n }\n stopSelectorObservers() {\n if (this.selectorObserverMap.size > 0) {\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n stopAttributeObservers() {\n if (this.attributeObserverMap.size > 0) {\n this.attributeObserverMap.forEach((observer) => observer.stop());\n this.attributeObserverMap.clear();\n }\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n const selector = this.selector(outletName);\n const hasOutlet = this.hasOutlet(element, outletName);\n const hasOutletController = element.matches(`[${this.schema.controllerAttribute}~=${outletName}]`);\n if (selector) {\n return hasOutlet && hasOutletController && element.matches(selector);\n }\n else {\n return false;\n }\n }\n elementMatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementAttributeValueChanged(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementUnmatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n updateSelectorObserverForOutlet(outletName) {\n const observer = this.selectorObserverMap.get(outletName);\n if (observer) {\n observer.selector = this.selector(outletName);\n }\n }\n setupSelectorObserverForOutlet(outletName) {\n const selector = this.selector(outletName);\n const selectorObserver = new SelectorObserver(document.body, selector, this, { outletName });\n this.selectorObserverMap.set(outletName, selectorObserver);\n selectorObserver.start();\n }\n setupAttributeObserverForOutlet(outletName) {\n const attributeName = this.attributeNameForOutletName(outletName);\n const attributeObserver = new AttributeObserver(this.scope.element, attributeName, this);\n this.attributeObserverMap.set(outletName, attributeObserver);\n attributeObserver.start();\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n attributeNameForOutletName(outletName) {\n return this.scope.schema.outletAttributeForScope(this.identifier, outletName);\n }\n getOutletNameFromOutletAttributeName(attributeName) {\n return this.outletDefinitions.find((outletName) => this.attributeNameForOutletName(outletName) === attributeName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get schema() {\n return this.context.schema;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n return this.parseValueForElementAndIdentifier(element, identifier);\n }\n parseValueForElementAndIdentifier(element, identifier) {\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad.call(definition.controllerConstructor, definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n proposeToConnectScopeForElementAndIdentifier(element, identifier) {\n const scope = this.scopeObserver.parseValueForElementAndIdentifier(element, identifier);\n if (scope) {\n this.scopeObserver.elementMatchedValue(scope.element, scope);\n }\n else {\n console.error(`Couldn't find or create scope for identifier: \"${identifier}\" and element:`, element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\", page_up: \"PageUp\", page_down: \"PageDown\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction getOutletController(controller, element, identifier) {\n return controller.application.getControllerForElementAndIdentifier(element, identifier);\n}\nfunction getControllerAndEnsureConnectedScope(controller, element, outletName) {\n let outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n controller.application.router.proposeToConnectScopeForElementAndIdentifier(element, outletName);\n outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n throw new Error(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`);\n }\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outletElement) => {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n console.warn(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`, outletElement);\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n return outletElement;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const { controller, token, typeObject } = payload;\n const hasType = isSomething(typeObject.type);\n const hasDefault = isSomething(typeObject.default);\n const fullObject = hasType && hasDefault;\n const onlyType = hasType && !hasDefault;\n const onlyDefault = !hasType && hasDefault;\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeObject.default);\n if (onlyType)\n return typeFromObject;\n if (onlyDefault)\n return typeFromDefaultValue;\n if (typeFromObject !== typeFromDefaultValue) {\n const propertyPath = controller ? `${controller}.${token}` : token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${typeObject.default}\" is of type \"${typeFromDefaultValue}\".`);\n }\n if (fullObject)\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const { controller, token, typeDefinition } = payload;\n const typeObject = { controller, token, typeObject: typeDefinition };\n const typeFromObject = parseValueTypeObject(typeObject);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = controller ? `${controller}.${typeDefinition}` : token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const hasDefault = hasProperty(typeDefinition, \"default\");\n const hasType = hasProperty(typeDefinition, \"type\");\n const typeObject = typeDefinition;\n if (hasDefault)\n return typeObject.default;\n if (hasType) {\n const { type } = typeObject;\n const constantFromType = parseValueTypeConstant(type);\n if (constantFromType)\n return defaultValuesByType[constantFromType];\n }\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const { token, typeDefinition } = payload;\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value.replace(/_/g, \"\"));\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true, } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","/*!\nTurbo 8.0.12\nCopyright © 2024 37signals LLC\n */\n/**\n * The MIT License (MIT)\n *\n * Copyright (c) 2019 Javan Makhmali\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n(function (prototype) {\n if (typeof prototype.requestSubmit == \"function\") return\n\n prototype.requestSubmit = function (submitter) {\n if (submitter) {\n validateSubmitter(submitter, this);\n submitter.click();\n } else {\n submitter = document.createElement(\"input\");\n submitter.type = \"submit\";\n submitter.hidden = true;\n this.appendChild(submitter);\n submitter.click();\n this.removeChild(submitter);\n }\n };\n\n function validateSubmitter(submitter, form) {\n submitter instanceof HTMLElement || raise(TypeError, \"parameter 1 is not of type 'HTMLElement'\");\n submitter.type == \"submit\" || raise(TypeError, \"The specified element is not a submit button\");\n submitter.form == form ||\n raise(DOMException, \"The specified element is not owned by this form element\", \"NotFoundError\");\n }\n\n function raise(errorConstructor, message, name) {\n throw new errorConstructor(\"Failed to execute 'requestSubmit' on 'HTMLFormElement': \" + message + \".\", name)\n }\n})(HTMLFormElement.prototype);\n\nconst submittersByForm = new WeakMap();\n\nfunction findSubmitterFromClickTarget(target) {\n const element = target instanceof Element ? target : target instanceof Node ? target.parentElement : null;\n const candidate = element ? element.closest(\"input, button\") : null;\n return candidate?.type == \"submit\" ? candidate : null\n}\n\nfunction clickCaptured(event) {\n const submitter = findSubmitterFromClickTarget(event.target);\n\n if (submitter && submitter.form) {\n submittersByForm.set(submitter.form, submitter);\n }\n}\n\n(function () {\n if (\"submitter\" in Event.prototype) return\n\n let prototype = window.Event.prototype;\n // Certain versions of Safari 15 have a bug where they won't\n // populate the submitter. This hurts TurboDrive's enable/disable detection.\n // See https://bugs.webkit.org/show_bug.cgi?id=229660\n if (\"SubmitEvent\" in window) {\n const prototypeOfSubmitEvent = window.SubmitEvent.prototype;\n\n if (/Apple Computer/.test(navigator.vendor) && !(\"submitter\" in prototypeOfSubmitEvent)) {\n prototype = prototypeOfSubmitEvent;\n } else {\n return // polyfill not needed\n }\n }\n\n addEventListener(\"click\", clickCaptured, true);\n\n Object.defineProperty(prototype, \"submitter\", {\n get() {\n if (this.type == \"submit\" && this.target instanceof HTMLFormElement) {\n return submittersByForm.get(this.target)\n }\n }\n });\n})();\n\nconst FrameLoadingStyle = {\n eager: \"eager\",\n lazy: \"lazy\"\n};\n\n/**\n * Contains a fragment of HTML which is updated based on navigation within\n * it (e.g. via links or form submissions).\n *\n * @customElement turbo-frame\n * @example\n * <turbo-frame id=\"messages\">\n * <a href=\"/messages/expanded\">\n * Show all expanded messages in this frame.\n * </a>\n *\n * <form action=\"/messages\">\n * Show response from this form within this frame.\n * </form>\n * </turbo-frame>\n */\nclass FrameElement extends HTMLElement {\n static delegateConstructor = undefined\n\n loaded = Promise.resolve()\n\n static get observedAttributes() {\n return [\"disabled\", \"loading\", \"src\"]\n }\n\n constructor() {\n super();\n this.delegate = new FrameElement.delegateConstructor(this);\n }\n\n connectedCallback() {\n this.delegate.connect();\n }\n\n disconnectedCallback() {\n this.delegate.disconnect();\n }\n\n reload() {\n return this.delegate.sourceURLReloaded()\n }\n\n attributeChangedCallback(name) {\n if (name == \"loading\") {\n this.delegate.loadingStyleChanged();\n } else if (name == \"src\") {\n this.delegate.sourceURLChanged();\n } else if (name == \"disabled\") {\n this.delegate.disabledChanged();\n }\n }\n\n /**\n * Gets the URL to lazily load source HTML from\n */\n get src() {\n return this.getAttribute(\"src\")\n }\n\n /**\n * Sets the URL to lazily load source HTML from\n */\n set src(value) {\n if (value) {\n this.setAttribute(\"src\", value);\n } else {\n this.removeAttribute(\"src\");\n }\n }\n\n /**\n * Gets the refresh mode for the frame.\n */\n get refresh() {\n return this.getAttribute(\"refresh\")\n }\n\n /**\n * Sets the refresh mode for the frame.\n */\n set refresh(value) {\n if (value) {\n this.setAttribute(\"refresh\", value);\n } else {\n this.removeAttribute(\"refresh\");\n }\n }\n\n get shouldReloadWithMorph() {\n return this.src && this.refresh === \"morph\"\n }\n\n /**\n * Determines if the element is loading\n */\n get loading() {\n return frameLoadingStyleFromString(this.getAttribute(\"loading\") || \"\")\n }\n\n /**\n * Sets the value of if the element is loading\n */\n set loading(value) {\n if (value) {\n this.setAttribute(\"loading\", value);\n } else {\n this.removeAttribute(\"loading\");\n }\n }\n\n /**\n * Gets the disabled state of the frame.\n *\n * If disabled, no requests will be intercepted by the frame.\n */\n get disabled() {\n return this.hasAttribute(\"disabled\")\n }\n\n /**\n * Sets the disabled state of the frame.\n *\n * If disabled, no requests will be intercepted by the frame.\n */\n set disabled(value) {\n if (value) {\n this.setAttribute(\"disabled\", \"\");\n } else {\n this.removeAttribute(\"disabled\");\n }\n }\n\n /**\n * Gets the autoscroll state of the frame.\n *\n * If true, the frame will be scrolled into view automatically on update.\n */\n get autoscroll() {\n return this.hasAttribute(\"autoscroll\")\n }\n\n /**\n * Sets the autoscroll state of the frame.\n *\n * If true, the frame will be scrolled into view automatically on update.\n */\n set autoscroll(value) {\n if (value) {\n this.setAttribute(\"autoscroll\", \"\");\n } else {\n this.removeAttribute(\"autoscroll\");\n }\n }\n\n /**\n * Determines if the element has finished loading\n */\n get complete() {\n return !this.delegate.isLoading\n }\n\n /**\n * Gets the active state of the frame.\n *\n * If inactive, source changes will not be observed.\n */\n get isActive() {\n return this.ownerDocument === document && !this.isPreview\n }\n\n /**\n * Sets the active state of the frame.\n *\n * If inactive, source changes will not be observed.\n */\n get isPreview() {\n return this.ownerDocument?.documentElement?.hasAttribute(\"data-turbo-preview\")\n }\n}\n\nfunction frameLoadingStyleFromString(style) {\n switch (style.toLowerCase()) {\n case \"lazy\":\n return FrameLoadingStyle.lazy\n default:\n return FrameLoadingStyle.eager\n }\n}\n\nconst drive = {\n enabled: true,\n progressBarDelay: 500,\n unvisitableExtensions: new Set(\n [\n \".7z\", \".aac\", \".apk\", \".avi\", \".bmp\", \".bz2\", \".css\", \".csv\", \".deb\", \".dmg\", \".doc\",\n \".docx\", \".exe\", \".gif\", \".gz\", \".heic\", \".heif\", \".ico\", \".iso\", \".jpeg\", \".jpg\",\n \".js\", \".json\", \".m4a\", \".mkv\", \".mov\", \".mp3\", \".mp4\", \".mpeg\", \".mpg\", \".msi\",\n \".ogg\", \".ogv\", \".pdf\", \".pkg\", \".png\", \".ppt\", \".pptx\", \".rar\", \".rtf\",\n \".svg\", \".tar\", \".tif\", \".tiff\", \".txt\", \".wav\", \".webm\", \".webp\", \".wma\", \".wmv\",\n \".xls\", \".xlsx\", \".xml\", \".zip\"\n ]\n )\n};\n\nfunction activateScriptElement(element) {\n if (element.getAttribute(\"data-turbo-eval\") == \"false\") {\n return element\n } else {\n const createdScriptElement = document.createElement(\"script\");\n const cspNonce = getCspNonce();\n if (cspNonce) {\n createdScriptElement.nonce = cspNonce;\n }\n createdScriptElement.textContent = element.textContent;\n createdScriptElement.async = false;\n copyElementAttributes(createdScriptElement, element);\n return createdScriptElement\n }\n}\n\nfunction copyElementAttributes(destinationElement, sourceElement) {\n for (const { name, value } of sourceElement.attributes) {\n destinationElement.setAttribute(name, value);\n }\n}\n\nfunction createDocumentFragment(html) {\n const template = document.createElement(\"template\");\n template.innerHTML = html;\n return template.content\n}\n\nfunction dispatch(eventName, { target, cancelable, detail } = {}) {\n const event = new CustomEvent(eventName, {\n cancelable,\n bubbles: true,\n composed: true,\n detail\n });\n\n if (target && target.isConnected) {\n target.dispatchEvent(event);\n } else {\n document.documentElement.dispatchEvent(event);\n }\n\n return event\n}\n\nfunction cancelEvent(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n\nfunction nextRepaint() {\n if (document.visibilityState === \"hidden\") {\n return nextEventLoopTick()\n } else {\n return nextAnimationFrame()\n }\n}\n\nfunction nextAnimationFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => resolve()))\n}\n\nfunction nextEventLoopTick() {\n return new Promise((resolve) => setTimeout(() => resolve(), 0))\n}\n\nfunction nextMicrotask() {\n return Promise.resolve()\n}\n\nfunction parseHTMLDocument(html = \"\") {\n return new DOMParser().parseFromString(html, \"text/html\")\n}\n\nfunction unindent(strings, ...values) {\n const lines = interpolate(strings, values).replace(/^\\n/, \"\").split(\"\\n\");\n const match = lines[0].match(/^\\s+/);\n const indent = match ? match[0].length : 0;\n return lines.map((line) => line.slice(indent)).join(\"\\n\")\n}\n\nfunction interpolate(strings, values) {\n return strings.reduce((result, string, i) => {\n const value = values[i] == undefined ? \"\" : values[i];\n return result + string + value\n }, \"\")\n}\n\nfunction uuid() {\n return Array.from({ length: 36 })\n .map((_, i) => {\n if (i == 8 || i == 13 || i == 18 || i == 23) {\n return \"-\"\n } else if (i == 14) {\n return \"4\"\n } else if (i == 19) {\n return (Math.floor(Math.random() * 4) + 8).toString(16)\n } else {\n return Math.floor(Math.random() * 15).toString(16)\n }\n })\n .join(\"\")\n}\n\nfunction getAttribute(attributeName, ...elements) {\n for (const value of elements.map((element) => element?.getAttribute(attributeName))) {\n if (typeof value == \"string\") return value\n }\n\n return null\n}\n\nfunction hasAttribute(attributeName, ...elements) {\n return elements.some((element) => element && element.hasAttribute(attributeName))\n}\n\nfunction markAsBusy(...elements) {\n for (const element of elements) {\n if (element.localName == \"turbo-frame\") {\n element.setAttribute(\"busy\", \"\");\n }\n element.setAttribute(\"aria-busy\", \"true\");\n }\n}\n\nfunction clearBusyState(...elements) {\n for (const element of elements) {\n if (element.localName == \"turbo-frame\") {\n element.removeAttribute(\"busy\");\n }\n\n element.removeAttribute(\"aria-busy\");\n }\n}\n\nfunction waitForLoad(element, timeoutInMilliseconds = 2000) {\n return new Promise((resolve) => {\n const onComplete = () => {\n element.removeEventListener(\"error\", onComplete);\n element.removeEventListener(\"load\", onComplete);\n resolve();\n };\n\n element.addEventListener(\"load\", onComplete, { once: true });\n element.addEventListener(\"error\", onComplete, { once: true });\n setTimeout(resolve, timeoutInMilliseconds);\n })\n}\n\nfunction getHistoryMethodForAction(action) {\n switch (action) {\n case \"replace\":\n return history.replaceState\n case \"advance\":\n case \"restore\":\n return history.pushState\n }\n}\n\nfunction isAction(action) {\n return action == \"advance\" || action == \"replace\" || action == \"restore\"\n}\n\nfunction getVisitAction(...elements) {\n const action = getAttribute(\"data-turbo-action\", ...elements);\n\n return isAction(action) ? action : null\n}\n\nfunction getMetaElement(name) {\n return document.querySelector(`meta[name=\"${name}\"]`)\n}\n\nfunction getMetaContent(name) {\n const element = getMetaElement(name);\n return element && element.content\n}\n\nfunction getCspNonce() {\n const element = getMetaElement(\"csp-nonce\");\n\n if (element) {\n const { nonce, content } = element;\n return nonce == \"\" ? content : nonce\n }\n}\n\nfunction setMetaContent(name, content) {\n let element = getMetaElement(name);\n\n if (!element) {\n element = document.createElement(\"meta\");\n element.setAttribute(\"name\", name);\n\n document.head.appendChild(element);\n }\n\n element.setAttribute(\"content\", content);\n\n return element\n}\n\nfunction findClosestRecursively(element, selector) {\n if (element instanceof Element) {\n return (\n element.closest(selector) || findClosestRecursively(element.assignedSlot || element.getRootNode()?.host, selector)\n )\n }\n}\n\nfunction elementIsFocusable(element) {\n const inertDisabledOrHidden = \"[inert], :disabled, [hidden], details:not([open]), dialog:not([open])\";\n\n return !!element && element.closest(inertDisabledOrHidden) == null && typeof element.focus == \"function\"\n}\n\nfunction queryAutofocusableElement(elementOrDocumentFragment) {\n return Array.from(elementOrDocumentFragment.querySelectorAll(\"[autofocus]\")).find(elementIsFocusable)\n}\n\nasync function around(callback, reader) {\n const before = reader();\n\n callback();\n\n await nextAnimationFrame();\n\n const after = reader();\n\n return [before, after]\n}\n\nfunction doesNotTargetIFrame(name) {\n if (name === \"_blank\") {\n return false\n } else if (name) {\n for (const element of document.getElementsByName(name)) {\n if (element instanceof HTMLIFrameElement) return false\n }\n\n return true\n } else {\n return true\n }\n}\n\nfunction findLinkFromClickTarget(target) {\n return findClosestRecursively(target, \"a[href]:not([target^=_]):not([download])\")\n}\n\nfunction getLocationForLink(link) {\n return expandURL(link.getAttribute(\"href\") || \"\")\n}\n\nfunction debounce(fn, delay) {\n let timeoutId = null;\n\n return (...args) => {\n const callback = () => fn.apply(this, args);\n clearTimeout(timeoutId);\n timeoutId = setTimeout(callback, delay);\n }\n}\n\nconst submitter = {\n \"aria-disabled\": {\n beforeSubmit: submitter => {\n submitter.setAttribute(\"aria-disabled\", \"true\");\n submitter.addEventListener(\"click\", cancelEvent);\n },\n\n afterSubmit: submitter => {\n submitter.removeAttribute(\"aria-disabled\");\n submitter.removeEventListener(\"click\", cancelEvent);\n }\n },\n\n \"disabled\": {\n beforeSubmit: submitter => submitter.disabled = true,\n afterSubmit: submitter => submitter.disabled = false\n }\n};\n\nclass Config {\n #submitter = null\n\n constructor(config) {\n Object.assign(this, config);\n }\n\n get submitter() {\n return this.#submitter\n }\n\n set submitter(value) {\n this.#submitter = submitter[value] || value;\n }\n}\n\nconst forms = new Config({\n mode: \"on\",\n submitter: \"disabled\"\n});\n\nconst config = {\n drive,\n forms\n};\n\nfunction expandURL(locatable) {\n return new URL(locatable.toString(), document.baseURI)\n}\n\nfunction getAnchor(url) {\n let anchorMatch;\n if (url.hash) {\n return url.hash.slice(1)\n // eslint-disable-next-line no-cond-assign\n } else if ((anchorMatch = url.href.match(/#(.*)$/))) {\n return anchorMatch[1]\n }\n}\n\nfunction getAction$1(form, submitter) {\n const action = submitter?.getAttribute(\"formaction\") || form.getAttribute(\"action\") || form.action;\n\n return expandURL(action)\n}\n\nfunction getExtension(url) {\n return (getLastPathComponent(url).match(/\\.[^.]*$/) || [])[0] || \"\"\n}\n\nfunction isPrefixedBy(baseURL, url) {\n const prefix = getPrefix(url);\n return baseURL.href === expandURL(prefix).href || baseURL.href.startsWith(prefix)\n}\n\nfunction locationIsVisitable(location, rootLocation) {\n return isPrefixedBy(location, rootLocation) && !config.drive.unvisitableExtensions.has(getExtension(location))\n}\n\nfunction getRequestURL(url) {\n const anchor = getAnchor(url);\n return anchor != null ? url.href.slice(0, -(anchor.length + 1)) : url.href\n}\n\nfunction toCacheKey(url) {\n return getRequestURL(url)\n}\n\nfunction urlsAreEqual(left, right) {\n return expandURL(left).href == expandURL(right).href\n}\n\nfunction getPathComponents(url) {\n return url.pathname.split(\"/\").slice(1)\n}\n\nfunction getLastPathComponent(url) {\n return getPathComponents(url).slice(-1)[0]\n}\n\nfunction getPrefix(url) {\n return addTrailingSlash(url.origin + url.pathname)\n}\n\nfunction addTrailingSlash(value) {\n return value.endsWith(\"/\") ? value : value + \"/\"\n}\n\nclass FetchResponse {\n constructor(response) {\n this.response = response;\n }\n\n get succeeded() {\n return this.response.ok\n }\n\n get failed() {\n return !this.succeeded\n }\n\n get clientError() {\n return this.statusCode >= 400 && this.statusCode <= 499\n }\n\n get serverError() {\n return this.statusCode >= 500 && this.statusCode <= 599\n }\n\n get redirected() {\n return this.response.redirected\n }\n\n get location() {\n return expandURL(this.response.url)\n }\n\n get isHTML() {\n return this.contentType && this.contentType.match(/^(?:text\\/([^\\s;,]+\\b)?html|application\\/xhtml\\+xml)\\b/)\n }\n\n get statusCode() {\n return this.response.status\n }\n\n get contentType() {\n return this.header(\"Content-Type\")\n }\n\n get responseText() {\n return this.response.clone().text()\n }\n\n get responseHTML() {\n if (this.isHTML) {\n return this.response.clone().text()\n } else {\n return Promise.resolve(undefined)\n }\n }\n\n header(name) {\n return this.response.headers.get(name)\n }\n}\n\nclass LimitedSet extends Set {\n constructor(maxSize) {\n super();\n this.maxSize = maxSize;\n }\n\n add(value) {\n if (this.size >= this.maxSize) {\n const iterator = this.values();\n const oldestValue = iterator.next().value;\n this.delete(oldestValue);\n }\n super.add(value);\n }\n}\n\nconst recentRequests = new LimitedSet(20);\n\nconst nativeFetch = window.fetch;\n\nfunction fetchWithTurboHeaders(url, options = {}) {\n const modifiedHeaders = new Headers(options.headers || {});\n const requestUID = uuid();\n recentRequests.add(requestUID);\n modifiedHeaders.append(\"X-Turbo-Request-Id\", requestUID);\n\n return nativeFetch(url, {\n ...options,\n headers: modifiedHeaders\n })\n}\n\nfunction fetchMethodFromString(method) {\n switch (method.toLowerCase()) {\n case \"get\":\n return FetchMethod.get\n case \"post\":\n return FetchMethod.post\n case \"put\":\n return FetchMethod.put\n case \"patch\":\n return FetchMethod.patch\n case \"delete\":\n return FetchMethod.delete\n }\n}\n\nconst FetchMethod = {\n get: \"get\",\n post: \"post\",\n put: \"put\",\n patch: \"patch\",\n delete: \"delete\"\n};\n\nfunction fetchEnctypeFromString(encoding) {\n switch (encoding.toLowerCase()) {\n case FetchEnctype.multipart:\n return FetchEnctype.multipart\n case FetchEnctype.plain:\n return FetchEnctype.plain\n default:\n return FetchEnctype.urlEncoded\n }\n}\n\nconst FetchEnctype = {\n urlEncoded: \"application/x-www-form-urlencoded\",\n multipart: \"multipart/form-data\",\n plain: \"text/plain\"\n};\n\nclass FetchRequest {\n abortController = new AbortController()\n #resolveRequestPromise = (_value) => {}\n\n constructor(delegate, method, location, requestBody = new URLSearchParams(), target = null, enctype = FetchEnctype.urlEncoded) {\n const [url, body] = buildResourceAndBody(expandURL(location), method, requestBody, enctype);\n\n this.delegate = delegate;\n this.url = url;\n this.target = target;\n this.fetchOptions = {\n credentials: \"same-origin\",\n redirect: \"follow\",\n method: method.toUpperCase(),\n headers: { ...this.defaultHeaders },\n body: body,\n signal: this.abortSignal,\n referrer: this.delegate.referrer?.href\n };\n this.enctype = enctype;\n }\n\n get method() {\n return this.fetchOptions.method\n }\n\n set method(value) {\n const fetchBody = this.isSafe ? this.url.searchParams : this.fetchOptions.body || new FormData();\n const fetchMethod = fetchMethodFromString(value) || FetchMethod.get;\n\n this.url.search = \"\";\n\n const [url, body] = buildResourceAndBody(this.url, fetchMethod, fetchBody, this.enctype);\n\n this.url = url;\n this.fetchOptions.body = body;\n this.fetchOptions.method = fetchMethod.toUpperCase();\n }\n\n get headers() {\n return this.fetchOptions.headers\n }\n\n set headers(value) {\n this.fetchOptions.headers = value;\n }\n\n get body() {\n if (this.isSafe) {\n return this.url.searchParams\n } else {\n return this.fetchOptions.body\n }\n }\n\n set body(value) {\n this.fetchOptions.body = value;\n }\n\n get location() {\n return this.url\n }\n\n get params() {\n return this.url.searchParams\n }\n\n get entries() {\n return this.body ? Array.from(this.body.entries()) : []\n }\n\n cancel() {\n this.abortController.abort();\n }\n\n async perform() {\n const { fetchOptions } = this;\n this.delegate.prepareRequest(this);\n const event = await this.#allowRequestToBeIntercepted(fetchOptions);\n try {\n this.delegate.requestStarted(this);\n\n if (event.detail.fetchRequest) {\n this.response = event.detail.fetchRequest.response;\n } else {\n this.response = fetchWithTurboHeaders(this.url.href, fetchOptions);\n }\n\n const response = await this.response;\n return await this.receive(response)\n } catch (error) {\n if (error.name !== \"AbortError\") {\n if (this.#willDelegateErrorHandling(error)) {\n this.delegate.requestErrored(this, error);\n }\n throw error\n }\n } finally {\n this.delegate.requestFinished(this);\n }\n }\n\n async receive(response) {\n const fetchResponse = new FetchResponse(response);\n const event = dispatch(\"turbo:before-fetch-response\", {\n cancelable: true,\n detail: { fetchResponse },\n target: this.target\n });\n if (event.defaultPrevented) {\n this.delegate.requestPreventedHandlingResponse(this, fetchResponse);\n } else if (fetchResponse.succeeded) {\n this.delegate.requestSucceededWithResponse(this, fetchResponse);\n } else {\n this.delegate.requestFailedWithResponse(this, fetchResponse);\n }\n return fetchResponse\n }\n\n get defaultHeaders() {\n return {\n Accept: \"text/html, application/xhtml+xml\"\n }\n }\n\n get isSafe() {\n return isSafe(this.method)\n }\n\n get abortSignal() {\n return this.abortController.signal\n }\n\n acceptResponseType(mimeType) {\n this.headers[\"Accept\"] = [mimeType, this.headers[\"Accept\"]].join(\", \");\n }\n\n async #allowRequestToBeIntercepted(fetchOptions) {\n const requestInterception = new Promise((resolve) => (this.#resolveRequestPromise = resolve));\n const event = dispatch(\"turbo:before-fetch-request\", {\n cancelable: true,\n detail: {\n fetchOptions,\n url: this.url,\n resume: this.#resolveRequestPromise\n },\n target: this.target\n });\n this.url = event.detail.url;\n if (event.defaultPrevented) await requestInterception;\n\n return event\n }\n\n #willDelegateErrorHandling(error) {\n const event = dispatch(\"turbo:fetch-request-error\", {\n target: this.target,\n cancelable: true,\n detail: { request: this, error: error }\n });\n\n return !event.defaultPrevented\n }\n}\n\nfunction isSafe(fetchMethod) {\n return fetchMethodFromString(fetchMethod) == FetchMethod.get\n}\n\nfunction buildResourceAndBody(resource, method, requestBody, enctype) {\n const searchParams =\n Array.from(requestBody).length > 0 ? new URLSearchParams(entriesExcludingFiles(requestBody)) : resource.searchParams;\n\n if (isSafe(method)) {\n return [mergeIntoURLSearchParams(resource, searchParams), null]\n } else if (enctype == FetchEnctype.urlEncoded) {\n return [resource, searchParams]\n } else {\n return [resource, requestBody]\n }\n}\n\nfunction entriesExcludingFiles(requestBody) {\n const entries = [];\n\n for (const [name, value] of requestBody) {\n if (value instanceof File) continue\n else entries.push([name, value]);\n }\n\n return entries\n}\n\nfunction mergeIntoURLSearchParams(url, requestBody) {\n const searchParams = new URLSearchParams(entriesExcludingFiles(requestBody));\n\n url.search = searchParams.toString();\n\n return url\n}\n\nclass AppearanceObserver {\n started = false\n\n constructor(delegate, element) {\n this.delegate = delegate;\n this.element = element;\n this.intersectionObserver = new IntersectionObserver(this.intersect);\n }\n\n start() {\n if (!this.started) {\n this.started = true;\n this.intersectionObserver.observe(this.element);\n }\n }\n\n stop() {\n if (this.started) {\n this.started = false;\n this.intersectionObserver.unobserve(this.element);\n }\n }\n\n intersect = (entries) => {\n const lastEntry = entries.slice(-1)[0];\n if (lastEntry?.isIntersecting) {\n this.delegate.elementAppearedInViewport(this.element);\n }\n }\n}\n\nclass StreamMessage {\n static contentType = \"text/vnd.turbo-stream.html\"\n\n static wrap(message) {\n if (typeof message == \"string\") {\n return new this(createDocumentFragment(message))\n } else {\n return message\n }\n }\n\n constructor(fragment) {\n this.fragment = importStreamElements(fragment);\n }\n}\n\nfunction importStreamElements(fragment) {\n for (const element of fragment.querySelectorAll(\"turbo-stream\")) {\n const streamElement = document.importNode(element, true);\n\n for (const inertScriptElement of streamElement.templateElement.content.querySelectorAll(\"script\")) {\n inertScriptElement.replaceWith(activateScriptElement(inertScriptElement));\n }\n\n element.replaceWith(streamElement);\n }\n\n return fragment\n}\n\nconst PREFETCH_DELAY = 100;\n\nclass PrefetchCache {\n #prefetchTimeout = null\n #prefetched = null\n\n get(url) {\n if (this.#prefetched && this.#prefetched.url === url && this.#prefetched.expire > Date.now()) {\n return this.#prefetched.request\n }\n }\n\n setLater(url, request, ttl) {\n this.clear();\n\n this.#prefetchTimeout = setTimeout(() => {\n request.perform();\n this.set(url, request, ttl);\n this.#prefetchTimeout = null;\n }, PREFETCH_DELAY);\n }\n\n set(url, request, ttl) {\n this.#prefetched = { url, request, expire: new Date(new Date().getTime() + ttl) };\n }\n\n clear() {\n if (this.#prefetchTimeout) clearTimeout(this.#prefetchTimeout);\n this.#prefetched = null;\n }\n}\n\nconst cacheTtl = 10 * 1000;\nconst prefetchCache = new PrefetchCache();\n\nconst FormSubmissionState = {\n initialized: \"initialized\",\n requesting: \"requesting\",\n waiting: \"waiting\",\n receiving: \"receiving\",\n stopping: \"stopping\",\n stopped: \"stopped\"\n};\n\nclass FormSubmission {\n state = FormSubmissionState.initialized\n\n static confirmMethod(message) {\n return Promise.resolve(confirm(message))\n }\n\n constructor(delegate, formElement, submitter, mustRedirect = false) {\n const method = getMethod(formElement, submitter);\n const action = getAction(getFormAction(formElement, submitter), method);\n const body = buildFormData(formElement, submitter);\n const enctype = getEnctype(formElement, submitter);\n\n this.delegate = delegate;\n this.formElement = formElement;\n this.submitter = submitter;\n this.fetchRequest = new FetchRequest(this, method, action, body, formElement, enctype);\n this.mustRedirect = mustRedirect;\n }\n\n get method() {\n return this.fetchRequest.method\n }\n\n set method(value) {\n this.fetchRequest.method = value;\n }\n\n get action() {\n return this.fetchRequest.url.toString()\n }\n\n set action(value) {\n this.fetchRequest.url = expandURL(value);\n }\n\n get body() {\n return this.fetchRequest.body\n }\n\n get enctype() {\n return this.fetchRequest.enctype\n }\n\n get isSafe() {\n return this.fetchRequest.isSafe\n }\n\n get location() {\n return this.fetchRequest.url\n }\n\n // The submission process\n\n async start() {\n const { initialized, requesting } = FormSubmissionState;\n const confirmationMessage = getAttribute(\"data-turbo-confirm\", this.submitter, this.formElement);\n\n if (typeof confirmationMessage === \"string\") {\n const confirmMethod = typeof config.forms.confirm === \"function\" ?\n config.forms.confirm :\n FormSubmission.confirmMethod;\n\n const answer = await confirmMethod(confirmationMessage, this.formElement, this.submitter);\n if (!answer) {\n return\n }\n }\n\n if (this.state == initialized) {\n this.state = requesting;\n return this.fetchRequest.perform()\n }\n }\n\n stop() {\n const { stopping, stopped } = FormSubmissionState;\n if (this.state != stopping && this.state != stopped) {\n this.state = stopping;\n this.fetchRequest.cancel();\n return true\n }\n }\n\n // Fetch request delegate\n\n prepareRequest(request) {\n if (!request.isSafe) {\n const token = getCookieValue(getMetaContent(\"csrf-param\")) || getMetaContent(\"csrf-token\");\n if (token) {\n request.headers[\"X-CSRF-Token\"] = token;\n }\n }\n\n if (this.requestAcceptsTurboStreamResponse(request)) {\n request.acceptResponseType(StreamMessage.contentType);\n }\n }\n\n requestStarted(_request) {\n this.state = FormSubmissionState.waiting;\n if (this.submitter) config.forms.submitter.beforeSubmit(this.submitter);\n this.setSubmitsWith();\n markAsBusy(this.formElement);\n dispatch(\"turbo:submit-start\", {\n target: this.formElement,\n detail: { formSubmission: this }\n });\n this.delegate.formSubmissionStarted(this);\n }\n\n requestPreventedHandlingResponse(request, response) {\n prefetchCache.clear();\n\n this.result = { success: response.succeeded, fetchResponse: response };\n }\n\n requestSucceededWithResponse(request, response) {\n if (response.clientError || response.serverError) {\n this.delegate.formSubmissionFailedWithResponse(this, response);\n return\n }\n\n prefetchCache.clear();\n\n if (this.requestMustRedirect(request) && responseSucceededWithoutRedirect(response)) {\n const error = new Error(\"Form responses must redirect to another location\");\n this.delegate.formSubmissionErrored(this, error);\n } else {\n this.state = FormSubmissionState.receiving;\n this.result = { success: true, fetchResponse: response };\n this.delegate.formSubmissionSucceededWithResponse(this, response);\n }\n }\n\n requestFailedWithResponse(request, response) {\n this.result = { success: false, fetchResponse: response };\n this.delegate.formSubmissionFailedWithResponse(this, response);\n }\n\n requestErrored(request, error) {\n this.result = { success: false, error };\n this.delegate.formSubmissionErrored(this, error);\n }\n\n requestFinished(_request) {\n this.state = FormSubmissionState.stopped;\n if (this.submitter) config.forms.submitter.afterSubmit(this.submitter);\n this.resetSubmitterText();\n clearBusyState(this.formElement);\n dispatch(\"turbo:submit-end\", {\n target: this.formElement,\n detail: { formSubmission: this, ...this.result }\n });\n this.delegate.formSubmissionFinished(this);\n }\n\n // Private\n\n setSubmitsWith() {\n if (!this.submitter || !this.submitsWith) return\n\n if (this.submitter.matches(\"button\")) {\n this.originalSubmitText = this.submitter.innerHTML;\n this.submitter.innerHTML = this.submitsWith;\n } else if (this.submitter.matches(\"input\")) {\n const input = this.submitter;\n this.originalSubmitText = input.value;\n input.value = this.submitsWith;\n }\n }\n\n resetSubmitterText() {\n if (!this.submitter || !this.originalSubmitText) return\n\n if (this.submitter.matches(\"button\")) {\n this.submitter.innerHTML = this.originalSubmitText;\n } else if (this.submitter.matches(\"input\")) {\n const input = this.submitter;\n input.value = this.originalSubmitText;\n }\n }\n\n requestMustRedirect(request) {\n return !request.isSafe && this.mustRedirect\n }\n\n requestAcceptsTurboStreamResponse(request) {\n return !request.isSafe || hasAttribute(\"data-turbo-stream\", this.submitter, this.formElement)\n }\n\n get submitsWith() {\n return this.submitter?.getAttribute(\"data-turbo-submits-with\")\n }\n}\n\nfunction buildFormData(formElement, submitter) {\n const formData = new FormData(formElement);\n const name = submitter?.getAttribute(\"name\");\n const value = submitter?.getAttribute(\"value\");\n\n if (name) {\n formData.append(name, value || \"\");\n }\n\n return formData\n}\n\nfunction getCookieValue(cookieName) {\n if (cookieName != null) {\n const cookies = document.cookie ? document.cookie.split(\"; \") : [];\n const cookie = cookies.find((cookie) => cookie.startsWith(cookieName));\n if (cookie) {\n const value = cookie.split(\"=\").slice(1).join(\"=\");\n return value ? decodeURIComponent(value) : undefined\n }\n }\n}\n\nfunction responseSucceededWithoutRedirect(response) {\n return response.statusCode == 200 && !response.redirected\n}\n\nfunction getFormAction(formElement, submitter) {\n const formElementAction = typeof formElement.action === \"string\" ? formElement.action : null;\n\n if (submitter?.hasAttribute(\"formaction\")) {\n return submitter.getAttribute(\"formaction\") || \"\"\n } else {\n return formElement.getAttribute(\"action\") || formElementAction || \"\"\n }\n}\n\nfunction getAction(formAction, fetchMethod) {\n const action = expandURL(formAction);\n\n if (isSafe(fetchMethod)) {\n action.search = \"\";\n }\n\n return action\n}\n\nfunction getMethod(formElement, submitter) {\n const method = submitter?.getAttribute(\"formmethod\") || formElement.getAttribute(\"method\") || \"\";\n return fetchMethodFromString(method.toLowerCase()) || FetchMethod.get\n}\n\nfunction getEnctype(formElement, submitter) {\n return fetchEnctypeFromString(submitter?.getAttribute(\"formenctype\") || formElement.enctype)\n}\n\nclass Snapshot {\n constructor(element) {\n this.element = element;\n }\n\n get activeElement() {\n return this.element.ownerDocument.activeElement\n }\n\n get children() {\n return [...this.element.children]\n }\n\n hasAnchor(anchor) {\n return this.getElementForAnchor(anchor) != null\n }\n\n getElementForAnchor(anchor) {\n return anchor ? this.element.querySelector(`[id='${anchor}'], a[name='${anchor}']`) : null\n }\n\n get isConnected() {\n return this.element.isConnected\n }\n\n get firstAutofocusableElement() {\n return queryAutofocusableElement(this.element)\n }\n\n get permanentElements() {\n return queryPermanentElementsAll(this.element)\n }\n\n getPermanentElementById(id) {\n return getPermanentElementById(this.element, id)\n }\n\n getPermanentElementMapForSnapshot(snapshot) {\n const permanentElementMap = {};\n\n for (const currentPermanentElement of this.permanentElements) {\n const { id } = currentPermanentElement;\n const newPermanentElement = snapshot.getPermanentElementById(id);\n if (newPermanentElement) {\n permanentElementMap[id] = [currentPermanentElement, newPermanentElement];\n }\n }\n\n return permanentElementMap\n }\n}\n\nfunction getPermanentElementById(node, id) {\n return node.querySelector(`#${id}[data-turbo-permanent]`)\n}\n\nfunction queryPermanentElementsAll(node) {\n return node.querySelectorAll(\"[id][data-turbo-permanent]\")\n}\n\nclass FormSubmitObserver {\n started = false\n\n constructor(delegate, eventTarget) {\n this.delegate = delegate;\n this.eventTarget = eventTarget;\n }\n\n start() {\n if (!this.started) {\n this.eventTarget.addEventListener(\"submit\", this.submitCaptured, true);\n this.started = true;\n }\n }\n\n stop() {\n if (this.started) {\n this.eventTarget.removeEventListener(\"submit\", this.submitCaptured, true);\n this.started = false;\n }\n }\n\n submitCaptured = () => {\n this.eventTarget.removeEventListener(\"submit\", this.submitBubbled, false);\n this.eventTarget.addEventListener(\"submit\", this.submitBubbled, false);\n }\n\n submitBubbled = (event) => {\n if (!event.defaultPrevented) {\n const form = event.target instanceof HTMLFormElement ? event.target : undefined;\n const submitter = event.submitter || undefined;\n\n if (\n form &&\n submissionDoesNotDismissDialog(form, submitter) &&\n submissionDoesNotTargetIFrame(form, submitter) &&\n this.delegate.willSubmitForm(form, submitter)\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.delegate.formSubmitted(form, submitter);\n }\n }\n }\n}\n\nfunction submissionDoesNotDismissDialog(form, submitter) {\n const method = submitter?.getAttribute(\"formmethod\") || form.getAttribute(\"method\");\n\n return method != \"dialog\"\n}\n\nfunction submissionDoesNotTargetIFrame(form, submitter) {\n const target = submitter?.getAttribute(\"formtarget\") || form.getAttribute(\"target\");\n\n return doesNotTargetIFrame(target)\n}\n\nclass View {\n #resolveRenderPromise = (_value) => {}\n #resolveInterceptionPromise = (_value) => {}\n\n constructor(delegate, element) {\n this.delegate = delegate;\n this.element = element;\n }\n\n // Scrolling\n\n scrollToAnchor(anchor) {\n const element = this.snapshot.getElementForAnchor(anchor);\n if (element) {\n this.scrollToElement(element);\n this.focusElement(element);\n } else {\n this.scrollToPosition({ x: 0, y: 0 });\n }\n }\n\n scrollToAnchorFromLocation(location) {\n this.scrollToAnchor(getAnchor(location));\n }\n\n scrollToElement(element) {\n element.scrollIntoView();\n }\n\n focusElement(element) {\n if (element instanceof HTMLElement) {\n if (element.hasAttribute(\"tabindex\")) {\n element.focus();\n } else {\n element.setAttribute(\"tabindex\", \"-1\");\n element.focus();\n element.removeAttribute(\"tabindex\");\n }\n }\n }\n\n scrollToPosition({ x, y }) {\n this.scrollRoot.scrollTo(x, y);\n }\n\n scrollToTop() {\n this.scrollToPosition({ x: 0, y: 0 });\n }\n\n get scrollRoot() {\n return window\n }\n\n // Rendering\n\n async render(renderer) {\n const { isPreview, shouldRender, willRender, newSnapshot: snapshot } = renderer;\n\n // A workaround to ignore tracked element mismatch reloads when performing\n // a promoted Visit from a frame navigation\n const shouldInvalidate = willRender;\n\n if (shouldRender) {\n try {\n this.renderPromise = new Promise((resolve) => (this.#resolveRenderPromise = resolve));\n this.renderer = renderer;\n await this.prepareToRenderSnapshot(renderer);\n\n const renderInterception = new Promise((resolve) => (this.#resolveInterceptionPromise = resolve));\n const options = { resume: this.#resolveInterceptionPromise, render: this.renderer.renderElement, renderMethod: this.renderer.renderMethod };\n const immediateRender = this.delegate.allowsImmediateRender(snapshot, options);\n if (!immediateRender) await renderInterception;\n\n await this.renderSnapshot(renderer);\n this.delegate.viewRenderedSnapshot(snapshot, isPreview, this.renderer.renderMethod);\n this.delegate.preloadOnLoadLinksForView(this.element);\n this.finishRenderingSnapshot(renderer);\n } finally {\n delete this.renderer;\n this.#resolveRenderPromise(undefined);\n delete this.renderPromise;\n }\n } else if (shouldInvalidate) {\n this.invalidate(renderer.reloadReason);\n }\n }\n\n invalidate(reason) {\n this.delegate.viewInvalidated(reason);\n }\n\n async prepareToRenderSnapshot(renderer) {\n this.markAsPreview(renderer.isPreview);\n await renderer.prepareToRender();\n }\n\n markAsPreview(isPreview) {\n if (isPreview) {\n this.element.setAttribute(\"data-turbo-preview\", \"\");\n } else {\n this.element.removeAttribute(\"data-turbo-preview\");\n }\n }\n\n markVisitDirection(direction) {\n this.element.setAttribute(\"data-turbo-visit-direction\", direction);\n }\n\n unmarkVisitDirection() {\n this.element.removeAttribute(\"data-turbo-visit-direction\");\n }\n\n async renderSnapshot(renderer) {\n await renderer.render();\n }\n\n finishRenderingSnapshot(renderer) {\n renderer.finishRendering();\n }\n}\n\nclass FrameView extends View {\n missing() {\n this.element.innerHTML = `<strong class=\"turbo-frame-error\">Content missing</strong>`;\n }\n\n get snapshot() {\n return new Snapshot(this.element)\n }\n}\n\nclass LinkInterceptor {\n constructor(delegate, element) {\n this.delegate = delegate;\n this.element = element;\n }\n\n start() {\n this.element.addEventListener(\"click\", this.clickBubbled);\n document.addEventListener(\"turbo:click\", this.linkClicked);\n document.addEventListener(\"turbo:before-visit\", this.willVisit);\n }\n\n stop() {\n this.element.removeEventListener(\"click\", this.clickBubbled);\n document.removeEventListener(\"turbo:click\", this.linkClicked);\n document.removeEventListener(\"turbo:before-visit\", this.willVisit);\n }\n\n clickBubbled = (event) => {\n if (this.clickEventIsSignificant(event)) {\n this.clickEvent = event;\n } else {\n delete this.clickEvent;\n }\n }\n\n linkClicked = (event) => {\n if (this.clickEvent && this.clickEventIsSignificant(event)) {\n if (this.delegate.shouldInterceptLinkClick(event.target, event.detail.url, event.detail.originalEvent)) {\n this.clickEvent.preventDefault();\n event.preventDefault();\n this.delegate.linkClickIntercepted(event.target, event.detail.url, event.detail.originalEvent);\n }\n }\n delete this.clickEvent;\n }\n\n willVisit = (_event) => {\n delete this.clickEvent;\n }\n\n clickEventIsSignificant(event) {\n const target = event.composed ? event.target?.parentElement : event.target;\n const element = findLinkFromClickTarget(target) || target;\n\n return element instanceof Element && element.closest(\"turbo-frame, html\") == this.element\n }\n}\n\nclass LinkClickObserver {\n started = false\n\n constructor(delegate, eventTarget) {\n this.delegate = delegate;\n this.eventTarget = eventTarget;\n }\n\n start() {\n if (!this.started) {\n this.eventTarget.addEventListener(\"click\", this.clickCaptured, true);\n this.started = true;\n }\n }\n\n stop() {\n if (this.started) {\n this.eventTarget.removeEventListener(\"click\", this.clickCaptured, true);\n this.started = false;\n }\n }\n\n clickCaptured = () => {\n this.eventTarget.removeEventListener(\"click\", this.clickBubbled, false);\n this.eventTarget.addEventListener(\"click\", this.clickBubbled, false);\n }\n\n clickBubbled = (event) => {\n if (event instanceof MouseEvent && this.clickEventIsSignificant(event)) {\n const target = (event.composedPath && event.composedPath()[0]) || event.target;\n const link = findLinkFromClickTarget(target);\n if (link && doesNotTargetIFrame(link.target)) {\n const location = getLocationForLink(link);\n if (this.delegate.willFollowLinkToLocation(link, location, event)) {\n event.preventDefault();\n this.delegate.followedLinkToLocation(link, location);\n }\n }\n }\n }\n\n clickEventIsSignificant(event) {\n return !(\n (event.target && event.target.isContentEditable) ||\n event.defaultPrevented ||\n event.which > 1 ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey\n )\n }\n}\n\nclass FormLinkClickObserver {\n constructor(delegate, element) {\n this.delegate = delegate;\n this.linkInterceptor = new LinkClickObserver(this, element);\n }\n\n start() {\n this.linkInterceptor.start();\n }\n\n stop() {\n this.linkInterceptor.stop();\n }\n\n // Link hover observer delegate\n\n canPrefetchRequestToLocation(link, location) {\n return false\n }\n\n prefetchAndCacheRequestToLocation(link, location) {\n return\n }\n\n // Link click observer delegate\n\n willFollowLinkToLocation(link, location, originalEvent) {\n return (\n this.delegate.willSubmitFormLinkToLocation(link, location, originalEvent) &&\n (link.hasAttribute(\"data-turbo-method\") || link.hasAttribute(\"data-turbo-stream\"))\n )\n }\n\n followedLinkToLocation(link, location) {\n const form = document.createElement(\"form\");\n\n const type = \"hidden\";\n for (const [name, value] of location.searchParams) {\n form.append(Object.assign(document.createElement(\"input\"), { type, name, value }));\n }\n\n const action = Object.assign(location, { search: \"\" });\n form.setAttribute(\"data-turbo\", \"true\");\n form.setAttribute(\"action\", action.href);\n form.setAttribute(\"hidden\", \"\");\n\n const method = link.getAttribute(\"data-turbo-method\");\n if (method) form.setAttribute(\"method\", method);\n\n const turboFrame = link.getAttribute(\"data-turbo-frame\");\n if (turboFrame) form.setAttribute(\"data-turbo-frame\", turboFrame);\n\n const turboAction = getVisitAction(link);\n if (turboAction) form.setAttribute(\"data-turbo-action\", turboAction);\n\n const turboConfirm = link.getAttribute(\"data-turbo-confirm\");\n if (turboConfirm) form.setAttribute(\"data-turbo-confirm\", turboConfirm);\n\n const turboStream = link.hasAttribute(\"data-turbo-stream\");\n if (turboStream) form.setAttribute(\"data-turbo-stream\", \"\");\n\n this.delegate.submittedFormLinkToLocation(link, location, form);\n\n document.body.appendChild(form);\n form.addEventListener(\"turbo:submit-end\", () => form.remove(), { once: true });\n requestAnimationFrame(() => form.requestSubmit());\n }\n}\n\nclass Bardo {\n static async preservingPermanentElements(delegate, permanentElementMap, callback) {\n const bardo = new this(delegate, permanentElementMap);\n bardo.enter();\n await callback();\n bardo.leave();\n }\n\n constructor(delegate, permanentElementMap) {\n this.delegate = delegate;\n this.permanentElementMap = permanentElementMap;\n }\n\n enter() {\n for (const id in this.permanentElementMap) {\n const [currentPermanentElement, newPermanentElement] = this.permanentElementMap[id];\n this.delegate.enteringBardo(currentPermanentElement, newPermanentElement);\n this.replaceNewPermanentElementWithPlaceholder(newPermanentElement);\n }\n }\n\n leave() {\n for (const id in this.permanentElementMap) {\n const [currentPermanentElement] = this.permanentElementMap[id];\n this.replaceCurrentPermanentElementWithClone(currentPermanentElement);\n this.replacePlaceholderWithPermanentElement(currentPermanentElement);\n this.delegate.leavingBardo(currentPermanentElement);\n }\n }\n\n replaceNewPermanentElementWithPlaceholder(permanentElement) {\n const placeholder = createPlaceholderForPermanentElement(permanentElement);\n permanentElement.replaceWith(placeholder);\n }\n\n replaceCurrentPermanentElementWithClone(permanentElement) {\n const clone = permanentElement.cloneNode(true);\n permanentElement.replaceWith(clone);\n }\n\n replacePlaceholderWithPermanentElement(permanentElement) {\n const placeholder = this.getPlaceholderById(permanentElement.id);\n placeholder?.replaceWith(permanentElement);\n }\n\n getPlaceholderById(id) {\n return this.placeholders.find((element) => element.content == id)\n }\n\n get placeholders() {\n return [...document.querySelectorAll(\"meta[name=turbo-permanent-placeholder][content]\")]\n }\n}\n\nfunction createPlaceholderForPermanentElement(permanentElement) {\n const element = document.createElement(\"meta\");\n element.setAttribute(\"name\", \"turbo-permanent-placeholder\");\n element.setAttribute(\"content\", permanentElement.id);\n return element\n}\n\nclass Renderer {\n #activeElement = null\n\n static renderElement(currentElement, newElement) {\n // Abstract method\n }\n\n constructor(currentSnapshot, newSnapshot, isPreview, willRender = true) {\n this.currentSnapshot = currentSnapshot;\n this.newSnapshot = newSnapshot;\n this.isPreview = isPreview;\n this.willRender = willRender;\n this.renderElement = this.constructor.renderElement;\n this.promise = new Promise((resolve, reject) => (this.resolvingFunctions = { resolve, reject }));\n }\n\n get shouldRender() {\n return true\n }\n\n get shouldAutofocus() {\n return true\n }\n\n get reloadReason() {\n return\n }\n\n prepareToRender() {\n return\n }\n\n render() {\n // Abstract method\n }\n\n finishRendering() {\n if (this.resolvingFunctions) {\n this.resolvingFunctions.resolve();\n delete this.resolvingFunctions;\n }\n }\n\n async preservingPermanentElements(callback) {\n await Bardo.preservingPermanentElements(this, this.permanentElementMap, callback);\n }\n\n focusFirstAutofocusableElement() {\n if (this.shouldAutofocus) {\n const element = this.connectedSnapshot.firstAutofocusableElement;\n if (element) {\n element.focus();\n }\n }\n }\n\n // Bardo delegate\n\n enteringBardo(currentPermanentElement) {\n if (this.#activeElement) return\n\n if (currentPermanentElement.contains(this.currentSnapshot.activeElement)) {\n this.#activeElement = this.currentSnapshot.activeElement;\n }\n }\n\n leavingBardo(currentPermanentElement) {\n if (currentPermanentElement.contains(this.#activeElement) && this.#activeElement instanceof HTMLElement) {\n this.#activeElement.focus();\n\n this.#activeElement = null;\n }\n }\n\n get connectedSnapshot() {\n return this.newSnapshot.isConnected ? this.newSnapshot : this.currentSnapshot\n }\n\n get currentElement() {\n return this.currentSnapshot.element\n }\n\n get newElement() {\n return this.newSnapshot.element\n }\n\n get permanentElementMap() {\n return this.currentSnapshot.getPermanentElementMapForSnapshot(this.newSnapshot)\n }\n\n get renderMethod() {\n return \"replace\"\n }\n}\n\nclass FrameRenderer extends Renderer {\n static renderElement(currentElement, newElement) {\n const destinationRange = document.createRange();\n destinationRange.selectNodeContents(currentElement);\n destinationRange.deleteContents();\n\n const frameElement = newElement;\n const sourceRange = frameElement.ownerDocument?.createRange();\n if (sourceRange) {\n sourceRange.selectNodeContents(frameElement);\n currentElement.appendChild(sourceRange.extractContents());\n }\n }\n\n constructor(delegate, currentSnapshot, newSnapshot, renderElement, isPreview, willRender = true) {\n super(currentSnapshot, newSnapshot, renderElement, isPreview, willRender);\n this.delegate = delegate;\n }\n\n get shouldRender() {\n return true\n }\n\n async render() {\n await nextRepaint();\n this.preservingPermanentElements(() => {\n this.loadFrameElement();\n });\n this.scrollFrameIntoView();\n await nextRepaint();\n this.focusFirstAutofocusableElement();\n await nextRepaint();\n this.activateScriptElements();\n }\n\n loadFrameElement() {\n this.delegate.willRenderFrame(this.currentElement, this.newElement);\n this.renderElement(this.currentElement, this.newElement);\n }\n\n scrollFrameIntoView() {\n if (this.currentElement.autoscroll || this.newElement.autoscroll) {\n const element = this.currentElement.firstElementChild;\n const block = readScrollLogicalPosition(this.currentElement.getAttribute(\"data-autoscroll-block\"), \"end\");\n const behavior = readScrollBehavior(this.currentElement.getAttribute(\"data-autoscroll-behavior\"), \"auto\");\n\n if (element) {\n element.scrollIntoView({ block, behavior });\n return true\n }\n }\n return false\n }\n\n activateScriptElements() {\n for (const inertScriptElement of this.newScriptElements) {\n const activatedScriptElement = activateScriptElement(inertScriptElement);\n inertScriptElement.replaceWith(activatedScriptElement);\n }\n }\n\n get newScriptElements() {\n return this.currentElement.querySelectorAll(\"script\")\n }\n}\n\nfunction readScrollLogicalPosition(value, defaultValue) {\n if (value == \"end\" || value == \"start\" || value == \"center\" || value == \"nearest\") {\n return value\n } else {\n return defaultValue\n }\n}\n\nfunction readScrollBehavior(value, defaultValue) {\n if (value == \"auto\" || value == \"smooth\") {\n return value\n } else {\n return defaultValue\n }\n}\n\n// base IIFE to define idiomorph\nvar Idiomorph = (function () {\n\n //=============================================================================\n // AND NOW IT BEGINS...\n //=============================================================================\n let EMPTY_SET = new Set();\n\n // default configuration values, updatable by users now\n let defaults = {\n morphStyle: \"outerHTML\",\n callbacks : {\n beforeNodeAdded: noOp,\n afterNodeAdded: noOp,\n beforeNodeMorphed: noOp,\n afterNodeMorphed: noOp,\n beforeNodeRemoved: noOp,\n afterNodeRemoved: noOp,\n beforeAttributeUpdated: noOp,\n\n },\n head: {\n style: 'merge',\n shouldPreserve: function (elt) {\n return elt.getAttribute(\"im-preserve\") === \"true\";\n },\n shouldReAppend: function (elt) {\n return elt.getAttribute(\"im-re-append\") === \"true\";\n },\n shouldRemove: noOp,\n afterHeadMorphed: noOp,\n }\n };\n\n //=============================================================================\n // Core Morphing Algorithm - morph, morphNormalizedContent, morphOldNodeTo, morphChildren\n //=============================================================================\n function morph(oldNode, newContent, config = {}) {\n\n if (oldNode instanceof Document) {\n oldNode = oldNode.documentElement;\n }\n\n if (typeof newContent === 'string') {\n newContent = parseContent(newContent);\n }\n\n let normalizedContent = normalizeContent(newContent);\n\n let ctx = createMorphContext(oldNode, normalizedContent, config);\n\n return morphNormalizedContent(oldNode, normalizedContent, ctx);\n }\n\n function morphNormalizedContent(oldNode, normalizedNewContent, ctx) {\n if (ctx.head.block) {\n let oldHead = oldNode.querySelector('head');\n let newHead = normalizedNewContent.querySelector('head');\n if (oldHead && newHead) {\n let promises = handleHeadElement(newHead, oldHead, ctx);\n // when head promises resolve, call morph again, ignoring the head tag\n Promise.all(promises).then(function () {\n morphNormalizedContent(oldNode, normalizedNewContent, Object.assign(ctx, {\n head: {\n block: false,\n ignore: true\n }\n }));\n });\n return;\n }\n }\n\n if (ctx.morphStyle === \"innerHTML\") {\n\n // innerHTML, so we are only updating the children\n morphChildren(normalizedNewContent, oldNode, ctx);\n return oldNode.children;\n\n } else if (ctx.morphStyle === \"outerHTML\" || ctx.morphStyle == null) {\n // otherwise find the best element match in the new content, morph that, and merge its siblings\n // into either side of the best match\n let bestMatch = findBestNodeMatch(normalizedNewContent, oldNode, ctx);\n\n // stash the siblings that will need to be inserted on either side of the best match\n let previousSibling = bestMatch?.previousSibling;\n let nextSibling = bestMatch?.nextSibling;\n\n // morph it\n let morphedNode = morphOldNodeTo(oldNode, bestMatch, ctx);\n\n if (bestMatch) {\n // if there was a best match, merge the siblings in too and return the\n // whole bunch\n return insertSiblings(previousSibling, morphedNode, nextSibling);\n } else {\n // otherwise nothing was added to the DOM\n return []\n }\n } else {\n throw \"Do not understand how to morph style \" + ctx.morphStyle;\n }\n }\n\n\n /**\n * @param possibleActiveElement\n * @param ctx\n * @returns {boolean}\n */\n function ignoreValueOfActiveElement(possibleActiveElement, ctx) {\n return ctx.ignoreActiveValue && possibleActiveElement === document.activeElement && possibleActiveElement !== document.body;\n }\n\n /**\n * @param oldNode root node to merge content into\n * @param newContent new content to merge\n * @param ctx the merge context\n * @returns {Element} the element that ended up in the DOM\n */\n function morphOldNodeTo(oldNode, newContent, ctx) {\n if (ctx.ignoreActive && oldNode === document.activeElement) ; else if (newContent == null) {\n if (ctx.callbacks.beforeNodeRemoved(oldNode) === false) return oldNode;\n\n oldNode.remove();\n ctx.callbacks.afterNodeRemoved(oldNode);\n return null;\n } else if (!isSoftMatch(oldNode, newContent)) {\n if (ctx.callbacks.beforeNodeRemoved(oldNode) === false) return oldNode;\n if (ctx.callbacks.beforeNodeAdded(newContent) === false) return oldNode;\n\n oldNode.parentElement.replaceChild(newContent, oldNode);\n ctx.callbacks.afterNodeAdded(newContent);\n ctx.callbacks.afterNodeRemoved(oldNode);\n return newContent;\n } else {\n if (ctx.callbacks.beforeNodeMorphed(oldNode, newContent) === false) return oldNode;\n\n if (oldNode instanceof HTMLHeadElement && ctx.head.ignore) ; else if (oldNode instanceof HTMLHeadElement && ctx.head.style !== \"morph\") {\n handleHeadElement(newContent, oldNode, ctx);\n } else {\n syncNodeFrom(newContent, oldNode, ctx);\n if (!ignoreValueOfActiveElement(oldNode, ctx)) {\n morphChildren(newContent, oldNode, ctx);\n }\n }\n ctx.callbacks.afterNodeMorphed(oldNode, newContent);\n return oldNode;\n }\n }\n\n /**\n * This is the core algorithm for matching up children. The idea is to use id sets to try to match up\n * nodes as faithfully as possible. We greedily match, which allows us to keep the algorithm fast, but\n * by using id sets, we are able to better match up with content deeper in the DOM.\n *\n * Basic algorithm is, for each node in the new content:\n *\n * - if we have reached the end of the old parent, append the new content\n * - if the new content has an id set match with the current insertion point, morph\n * - search for an id set match\n * - if id set match found, morph\n * - otherwise search for a \"soft\" match\n * - if a soft match is found, morph\n * - otherwise, prepend the new node before the current insertion point\n *\n * The two search algorithms terminate if competing node matches appear to outweigh what can be achieved\n * with the current node. See findIdSetMatch() and findSoftMatch() for details.\n *\n * @param {Element} newParent the parent element of the new content\n * @param {Element } oldParent the old content that we are merging the new content into\n * @param ctx the merge context\n */\n function morphChildren(newParent, oldParent, ctx) {\n\n let nextNewChild = newParent.firstChild;\n let insertionPoint = oldParent.firstChild;\n let newChild;\n\n // run through all the new content\n while (nextNewChild) {\n\n newChild = nextNewChild;\n nextNewChild = newChild.nextSibling;\n\n // if we are at the end of the exiting parent's children, just append\n if (insertionPoint == null) {\n if (ctx.callbacks.beforeNodeAdded(newChild) === false) return;\n\n oldParent.appendChild(newChild);\n ctx.callbacks.afterNodeAdded(newChild);\n removeIdsFromConsideration(ctx, newChild);\n continue;\n }\n\n // if the current node has an id set match then morph\n if (isIdSetMatch(newChild, insertionPoint, ctx)) {\n morphOldNodeTo(insertionPoint, newChild, ctx);\n insertionPoint = insertionPoint.nextSibling;\n removeIdsFromConsideration(ctx, newChild);\n continue;\n }\n\n // otherwise search forward in the existing old children for an id set match\n let idSetMatch = findIdSetMatch(newParent, oldParent, newChild, insertionPoint, ctx);\n\n // if we found a potential match, remove the nodes until that point and morph\n if (idSetMatch) {\n insertionPoint = removeNodesBetween(insertionPoint, idSetMatch, ctx);\n morphOldNodeTo(idSetMatch, newChild, ctx);\n removeIdsFromConsideration(ctx, newChild);\n continue;\n }\n\n // no id set match found, so scan forward for a soft match for the current node\n let softMatch = findSoftMatch(newParent, oldParent, newChild, insertionPoint, ctx);\n\n // if we found a soft match for the current node, morph\n if (softMatch) {\n insertionPoint = removeNodesBetween(insertionPoint, softMatch, ctx);\n morphOldNodeTo(softMatch, newChild, ctx);\n removeIdsFromConsideration(ctx, newChild);\n continue;\n }\n\n // abandon all hope of morphing, just insert the new child before the insertion point\n // and move on\n if (ctx.callbacks.beforeNodeAdded(newChild) === false) return;\n\n oldParent.insertBefore(newChild, insertionPoint);\n ctx.callbacks.afterNodeAdded(newChild);\n removeIdsFromConsideration(ctx, newChild);\n }\n\n // remove any remaining old nodes that didn't match up with new content\n while (insertionPoint !== null) {\n\n let tempNode = insertionPoint;\n insertionPoint = insertionPoint.nextSibling;\n removeNode(tempNode, ctx);\n }\n }\n\n //=============================================================================\n // Attribute Syncing Code\n //=============================================================================\n\n /**\n * @param attr {String} the attribute to be mutated\n * @param to {Element} the element that is going to be updated\n * @param updateType {(\"update\"|\"remove\")}\n * @param ctx the merge context\n * @returns {boolean} true if the attribute should be ignored, false otherwise\n */\n function ignoreAttribute(attr, to, updateType, ctx) {\n if(attr === 'value' && ctx.ignoreActiveValue && to === document.activeElement){\n return true;\n }\n return ctx.callbacks.beforeAttributeUpdated(attr, to, updateType) === false;\n }\n\n /**\n * syncs a given node with another node, copying over all attributes and\n * inner element state from the 'from' node to the 'to' node\n *\n * @param {Element} from the element to copy attributes & state from\n * @param {Element} to the element to copy attributes & state to\n * @param ctx the merge context\n */\n function syncNodeFrom(from, to, ctx) {\n let type = from.nodeType;\n\n // if is an element type, sync the attributes from the\n // new node into the new node\n if (type === 1 /* element type */) {\n const fromAttributes = from.attributes;\n const toAttributes = to.attributes;\n for (const fromAttribute of fromAttributes) {\n if (ignoreAttribute(fromAttribute.name, to, 'update', ctx)) {\n continue;\n }\n if (to.getAttribute(fromAttribute.name) !== fromAttribute.value) {\n to.setAttribute(fromAttribute.name, fromAttribute.value);\n }\n }\n // iterate backwards to avoid skipping over items when a delete occurs\n for (let i = toAttributes.length - 1; 0 <= i; i--) {\n const toAttribute = toAttributes[i];\n if (ignoreAttribute(toAttribute.name, to, 'remove', ctx)) {\n continue;\n }\n if (!from.hasAttribute(toAttribute.name)) {\n to.removeAttribute(toAttribute.name);\n }\n }\n }\n\n // sync text nodes\n if (type === 8 /* comment */ || type === 3 /* text */) {\n if (to.nodeValue !== from.nodeValue) {\n to.nodeValue = from.nodeValue;\n }\n }\n\n if (!ignoreValueOfActiveElement(to, ctx)) {\n // sync input values\n syncInputValue(from, to, ctx);\n }\n }\n\n /**\n * @param from {Element} element to sync the value from\n * @param to {Element} element to sync the value to\n * @param attributeName {String} the attribute name\n * @param ctx the merge context\n */\n function syncBooleanAttribute(from, to, attributeName, ctx) {\n if (from[attributeName] !== to[attributeName]) {\n let ignoreUpdate = ignoreAttribute(attributeName, to, 'update', ctx);\n if (!ignoreUpdate) {\n to[attributeName] = from[attributeName];\n }\n if (from[attributeName]) {\n if (!ignoreUpdate) {\n to.setAttribute(attributeName, from[attributeName]);\n }\n } else {\n if (!ignoreAttribute(attributeName, to, 'remove', ctx)) {\n to.removeAttribute(attributeName);\n }\n }\n }\n }\n\n /**\n * NB: many bothans died to bring us information:\n *\n * https://github.com/patrick-steele-idem/morphdom/blob/master/src/specialElHandlers.js\n * https://github.com/choojs/nanomorph/blob/master/lib/morph.jsL113\n *\n * @param from {Element} the element to sync the input value from\n * @param to {Element} the element to sync the input value to\n * @param ctx the merge context\n */\n function syncInputValue(from, to, ctx) {\n if (from instanceof HTMLInputElement &&\n to instanceof HTMLInputElement &&\n from.type !== 'file') {\n\n let fromValue = from.value;\n let toValue = to.value;\n\n // sync boolean attributes\n syncBooleanAttribute(from, to, 'checked', ctx);\n syncBooleanAttribute(from, to, 'disabled', ctx);\n\n if (!from.hasAttribute('value')) {\n if (!ignoreAttribute('value', to, 'remove', ctx)) {\n to.value = '';\n to.removeAttribute('value');\n }\n } else if (fromValue !== toValue) {\n if (!ignoreAttribute('value', to, 'update', ctx)) {\n to.setAttribute('value', fromValue);\n to.value = fromValue;\n }\n }\n } else if (from instanceof HTMLOptionElement) {\n syncBooleanAttribute(from, to, 'selected', ctx);\n } else if (from instanceof HTMLTextAreaElement && to instanceof HTMLTextAreaElement) {\n let fromValue = from.value;\n let toValue = to.value;\n if (ignoreAttribute('value', to, 'update', ctx)) {\n return;\n }\n if (fromValue !== toValue) {\n to.value = fromValue;\n }\n if (to.firstChild && to.firstChild.nodeValue !== fromValue) {\n to.firstChild.nodeValue = fromValue;\n }\n }\n }\n\n //=============================================================================\n // the HEAD tag can be handled specially, either w/ a 'merge' or 'append' style\n //=============================================================================\n function handleHeadElement(newHeadTag, currentHead, ctx) {\n\n let added = [];\n let removed = [];\n let preserved = [];\n let nodesToAppend = [];\n\n let headMergeStyle = ctx.head.style;\n\n // put all new head elements into a Map, by their outerHTML\n let srcToNewHeadNodes = new Map();\n for (const newHeadChild of newHeadTag.children) {\n srcToNewHeadNodes.set(newHeadChild.outerHTML, newHeadChild);\n }\n\n // for each elt in the current head\n for (const currentHeadElt of currentHead.children) {\n\n // If the current head element is in the map\n let inNewContent = srcToNewHeadNodes.has(currentHeadElt.outerHTML);\n let isReAppended = ctx.head.shouldReAppend(currentHeadElt);\n let isPreserved = ctx.head.shouldPreserve(currentHeadElt);\n if (inNewContent || isPreserved) {\n if (isReAppended) {\n // remove the current version and let the new version replace it and re-execute\n removed.push(currentHeadElt);\n } else {\n // this element already exists and should not be re-appended, so remove it from\n // the new content map, preserving it in the DOM\n srcToNewHeadNodes.delete(currentHeadElt.outerHTML);\n preserved.push(currentHeadElt);\n }\n } else {\n if (headMergeStyle === \"append\") {\n // we are appending and this existing element is not new content\n // so if and only if it is marked for re-append do we do anything\n if (isReAppended) {\n removed.push(currentHeadElt);\n nodesToAppend.push(currentHeadElt);\n }\n } else {\n // if this is a merge, we remove this content since it is not in the new head\n if (ctx.head.shouldRemove(currentHeadElt) !== false) {\n removed.push(currentHeadElt);\n }\n }\n }\n }\n\n // Push the remaining new head elements in the Map into the\n // nodes to append to the head tag\n nodesToAppend.push(...srcToNewHeadNodes.values());\n\n let promises = [];\n for (const newNode of nodesToAppend) {\n let newElt = document.createRange().createContextualFragment(newNode.outerHTML).firstChild;\n if (ctx.callbacks.beforeNodeAdded(newElt) !== false) {\n if (newElt.href || newElt.src) {\n let resolve = null;\n let promise = new Promise(function (_resolve) {\n resolve = _resolve;\n });\n newElt.addEventListener('load', function () {\n resolve();\n });\n promises.push(promise);\n }\n currentHead.appendChild(newElt);\n ctx.callbacks.afterNodeAdded(newElt);\n added.push(newElt);\n }\n }\n\n // remove all removed elements, after we have appended the new elements to avoid\n // additional network requests for things like style sheets\n for (const removedElement of removed) {\n if (ctx.callbacks.beforeNodeRemoved(removedElement) !== false) {\n currentHead.removeChild(removedElement);\n ctx.callbacks.afterNodeRemoved(removedElement);\n }\n }\n\n ctx.head.afterHeadMorphed(currentHead, {added: added, kept: preserved, removed: removed});\n return promises;\n }\n\n function noOp() {\n }\n\n /*\n Deep merges the config object and the Idiomoroph.defaults object to\n produce a final configuration object\n */\n function mergeDefaults(config) {\n let finalConfig = {};\n // copy top level stuff into final config\n Object.assign(finalConfig, defaults);\n Object.assign(finalConfig, config);\n\n // copy callbacks into final config (do this to deep merge the callbacks)\n finalConfig.callbacks = {};\n Object.assign(finalConfig.callbacks, defaults.callbacks);\n Object.assign(finalConfig.callbacks, config.callbacks);\n\n // copy head config into final config (do this to deep merge the head)\n finalConfig.head = {};\n Object.assign(finalConfig.head, defaults.head);\n Object.assign(finalConfig.head, config.head);\n return finalConfig;\n }\n\n function createMorphContext(oldNode, newContent, config) {\n config = mergeDefaults(config);\n return {\n target: oldNode,\n newContent: newContent,\n config: config,\n morphStyle: config.morphStyle,\n ignoreActive: config.ignoreActive,\n ignoreActiveValue: config.ignoreActiveValue,\n idMap: createIdMap(oldNode, newContent),\n deadIds: new Set(),\n callbacks: config.callbacks,\n head: config.head\n }\n }\n\n function isIdSetMatch(node1, node2, ctx) {\n if (node1 == null || node2 == null) {\n return false;\n }\n if (node1.nodeType === node2.nodeType && node1.tagName === node2.tagName) {\n if (node1.id !== \"\" && node1.id === node2.id) {\n return true;\n } else {\n return getIdIntersectionCount(ctx, node1, node2) > 0;\n }\n }\n return false;\n }\n\n function isSoftMatch(node1, node2) {\n if (node1 == null || node2 == null) {\n return false;\n }\n return node1.nodeType === node2.nodeType && node1.tagName === node2.tagName\n }\n\n function removeNodesBetween(startInclusive, endExclusive, ctx) {\n while (startInclusive !== endExclusive) {\n let tempNode = startInclusive;\n startInclusive = startInclusive.nextSibling;\n removeNode(tempNode, ctx);\n }\n removeIdsFromConsideration(ctx, endExclusive);\n return endExclusive.nextSibling;\n }\n\n //=============================================================================\n // Scans forward from the insertionPoint in the old parent looking for a potential id match\n // for the newChild. We stop if we find a potential id match for the new child OR\n // if the number of potential id matches we are discarding is greater than the\n // potential id matches for the new child\n //=============================================================================\n function findIdSetMatch(newContent, oldParent, newChild, insertionPoint, ctx) {\n\n // max id matches we are willing to discard in our search\n let newChildPotentialIdCount = getIdIntersectionCount(ctx, newChild, oldParent);\n\n let potentialMatch = null;\n\n // only search forward if there is a possibility of an id match\n if (newChildPotentialIdCount > 0) {\n let potentialMatch = insertionPoint;\n // if there is a possibility of an id match, scan forward\n // keep track of the potential id match count we are discarding (the\n // newChildPotentialIdCount must be greater than this to make it likely\n // worth it)\n let otherMatchCount = 0;\n while (potentialMatch != null) {\n\n // If we have an id match, return the current potential match\n if (isIdSetMatch(newChild, potentialMatch, ctx)) {\n return potentialMatch;\n }\n\n // computer the other potential matches of this new content\n otherMatchCount += getIdIntersectionCount(ctx, potentialMatch, newContent);\n if (otherMatchCount > newChildPotentialIdCount) {\n // if we have more potential id matches in _other_ content, we\n // do not have a good candidate for an id match, so return null\n return null;\n }\n\n // advanced to the next old content child\n potentialMatch = potentialMatch.nextSibling;\n }\n }\n return potentialMatch;\n }\n\n //=============================================================================\n // Scans forward from the insertionPoint in the old parent looking for a potential soft match\n // for the newChild. We stop if we find a potential soft match for the new child OR\n // if we find a potential id match in the old parents children OR if we find two\n // potential soft matches for the next two pieces of new content\n //=============================================================================\n function findSoftMatch(newContent, oldParent, newChild, insertionPoint, ctx) {\n\n let potentialSoftMatch = insertionPoint;\n let nextSibling = newChild.nextSibling;\n let siblingSoftMatchCount = 0;\n\n while (potentialSoftMatch != null) {\n\n if (getIdIntersectionCount(ctx, potentialSoftMatch, newContent) > 0) {\n // the current potential soft match has a potential id set match with the remaining new\n // content so bail out of looking\n return null;\n }\n\n // if we have a soft match with the current node, return it\n if (isSoftMatch(newChild, potentialSoftMatch)) {\n return potentialSoftMatch;\n }\n\n if (isSoftMatch(nextSibling, potentialSoftMatch)) {\n // the next new node has a soft match with this node, so\n // increment the count of future soft matches\n siblingSoftMatchCount++;\n nextSibling = nextSibling.nextSibling;\n\n // If there are two future soft matches, bail to allow the siblings to soft match\n // so that we don't consume future soft matches for the sake of the current node\n if (siblingSoftMatchCount >= 2) {\n return null;\n }\n }\n\n // advanced to the next old content child\n potentialSoftMatch = potentialSoftMatch.nextSibling;\n }\n\n return potentialSoftMatch;\n }\n\n function parseContent(newContent) {\n let parser = new DOMParser();\n\n // remove svgs to avoid false-positive matches on head, etc.\n let contentWithSvgsRemoved = newContent.replace(/<svg(\\s[^>]*>|>)([\\s\\S]*?)<\\/svg>/gim, '');\n\n // if the newContent contains a html, head or body tag, we can simply parse it w/o wrapping\n if (contentWithSvgsRemoved.match(/<\\/html>/) || contentWithSvgsRemoved.match(/<\\/head>/) || contentWithSvgsRemoved.match(/<\\/body>/)) {\n let content = parser.parseFromString(newContent, \"text/html\");\n // if it is a full HTML document, return the document itself as the parent container\n if (contentWithSvgsRemoved.match(/<\\/html>/)) {\n content.generatedByIdiomorph = true;\n return content;\n } else {\n // otherwise return the html element as the parent container\n let htmlElement = content.firstChild;\n if (htmlElement) {\n htmlElement.generatedByIdiomorph = true;\n return htmlElement;\n } else {\n return null;\n }\n }\n } else {\n // if it is partial HTML, wrap it in a template tag to provide a parent element and also to help\n // deal with touchy tags like tr, tbody, etc.\n let responseDoc = parser.parseFromString(\"<body><template>\" + newContent + \"</template></body>\", \"text/html\");\n let content = responseDoc.body.querySelector('template').content;\n content.generatedByIdiomorph = true;\n return content\n }\n }\n\n function normalizeContent(newContent) {\n if (newContent == null) {\n // noinspection UnnecessaryLocalVariableJS\n const dummyParent = document.createElement('div');\n return dummyParent;\n } else if (newContent.generatedByIdiomorph) {\n // the template tag created by idiomorph parsing can serve as a dummy parent\n return newContent;\n } else if (newContent instanceof Node) {\n // a single node is added as a child to a dummy parent\n const dummyParent = document.createElement('div');\n dummyParent.append(newContent);\n return dummyParent;\n } else {\n // all nodes in the array or HTMLElement collection are consolidated under\n // a single dummy parent element\n const dummyParent = document.createElement('div');\n for (const elt of [...newContent]) {\n dummyParent.append(elt);\n }\n return dummyParent;\n }\n }\n\n function insertSiblings(previousSibling, morphedNode, nextSibling) {\n let stack = [];\n let added = [];\n while (previousSibling != null) {\n stack.push(previousSibling);\n previousSibling = previousSibling.previousSibling;\n }\n while (stack.length > 0) {\n let node = stack.pop();\n added.push(node); // push added preceding siblings on in order and insert\n morphedNode.parentElement.insertBefore(node, morphedNode);\n }\n added.push(morphedNode);\n while (nextSibling != null) {\n stack.push(nextSibling);\n added.push(nextSibling); // here we are going in order, so push on as we scan, rather than add\n nextSibling = nextSibling.nextSibling;\n }\n while (stack.length > 0) {\n morphedNode.parentElement.insertBefore(stack.pop(), morphedNode.nextSibling);\n }\n return added;\n }\n\n function findBestNodeMatch(newContent, oldNode, ctx) {\n let currentElement;\n currentElement = newContent.firstChild;\n let bestElement = currentElement;\n let score = 0;\n while (currentElement) {\n let newScore = scoreElement(currentElement, oldNode, ctx);\n if (newScore > score) {\n bestElement = currentElement;\n score = newScore;\n }\n currentElement = currentElement.nextSibling;\n }\n return bestElement;\n }\n\n function scoreElement(node1, node2, ctx) {\n if (isSoftMatch(node1, node2)) {\n return .5 + getIdIntersectionCount(ctx, node1, node2);\n }\n return 0;\n }\n\n function removeNode(tempNode, ctx) {\n removeIdsFromConsideration(ctx, tempNode);\n if (ctx.callbacks.beforeNodeRemoved(tempNode) === false) return;\n\n tempNode.remove();\n ctx.callbacks.afterNodeRemoved(tempNode);\n }\n\n //=============================================================================\n // ID Set Functions\n //=============================================================================\n\n function isIdInConsideration(ctx, id) {\n return !ctx.deadIds.has(id);\n }\n\n function idIsWithinNode(ctx, id, targetNode) {\n let idSet = ctx.idMap.get(targetNode) || EMPTY_SET;\n return idSet.has(id);\n }\n\n function removeIdsFromConsideration(ctx, node) {\n let idSet = ctx.idMap.get(node) || EMPTY_SET;\n for (const id of idSet) {\n ctx.deadIds.add(id);\n }\n }\n\n function getIdIntersectionCount(ctx, node1, node2) {\n let sourceSet = ctx.idMap.get(node1) || EMPTY_SET;\n let matchCount = 0;\n for (const id of sourceSet) {\n // a potential match is an id in the source and potentialIdsSet, but\n // that has not already been merged into the DOM\n if (isIdInConsideration(ctx, id) && idIsWithinNode(ctx, id, node2)) {\n ++matchCount;\n }\n }\n return matchCount;\n }\n\n /**\n * A bottom up algorithm that finds all elements with ids inside of the node\n * argument and populates id sets for those nodes and all their parents, generating\n * a set of ids contained within all nodes for the entire hierarchy in the DOM\n *\n * @param node {Element}\n * @param {Map<Node, Set<String>>} idMap\n */\n function populateIdMapForNode(node, idMap) {\n let nodeParent = node.parentElement;\n // find all elements with an id property\n let idElements = node.querySelectorAll('[id]');\n for (const elt of idElements) {\n let current = elt;\n // walk up the parent hierarchy of that element, adding the id\n // of element to the parent's id set\n while (current !== nodeParent && current != null) {\n let idSet = idMap.get(current);\n // if the id set doesn't exist, create it and insert it in the map\n if (idSet == null) {\n idSet = new Set();\n idMap.set(current, idSet);\n }\n idSet.add(elt.id);\n current = current.parentElement;\n }\n }\n }\n\n /**\n * This function computes a map of nodes to all ids contained within that node (inclusive of the\n * node). This map can be used to ask if two nodes have intersecting sets of ids, which allows\n * for a looser definition of \"matching\" than tradition id matching, and allows child nodes\n * to contribute to a parent nodes matching.\n *\n * @param {Element} oldContent the old content that will be morphed\n * @param {Element} newContent the new content to morph to\n * @returns {Map<Node, Set<String>>} a map of nodes to id sets for the\n */\n function createIdMap(oldContent, newContent) {\n let idMap = new Map();\n populateIdMapForNode(oldContent, idMap);\n populateIdMapForNode(newContent, idMap);\n return idMap;\n }\n\n //=============================================================================\n // This is what ends up becoming the Idiomorph global object\n //=============================================================================\n return {\n morph,\n defaults\n }\n })();\n\nfunction morphElements(currentElement, newElement, { callbacks, ...options } = {}) {\n Idiomorph.morph(currentElement, newElement, {\n ...options,\n callbacks: new DefaultIdiomorphCallbacks(callbacks)\n });\n}\n\nfunction morphChildren(currentElement, newElement) {\n morphElements(currentElement, newElement.children, {\n morphStyle: \"innerHTML\"\n });\n}\n\nclass DefaultIdiomorphCallbacks {\n #beforeNodeMorphed\n\n constructor({ beforeNodeMorphed } = {}) {\n this.#beforeNodeMorphed = beforeNodeMorphed || (() => true);\n }\n\n beforeNodeAdded = (node) => {\n return !(node.id && node.hasAttribute(\"data-turbo-permanent\") && document.getElementById(node.id))\n }\n\n beforeNodeMorphed = (currentElement, newElement) => {\n if (currentElement instanceof Element) {\n if (!currentElement.hasAttribute(\"data-turbo-permanent\") && this.#beforeNodeMorphed(currentElement, newElement)) {\n const event = dispatch(\"turbo:before-morph-element\", {\n cancelable: true,\n target: currentElement,\n detail: { currentElement, newElement }\n });\n\n return !event.defaultPrevented\n } else {\n return false\n }\n }\n }\n\n beforeAttributeUpdated = (attributeName, target, mutationType) => {\n const event = dispatch(\"turbo:before-morph-attribute\", {\n cancelable: true,\n target,\n detail: { attributeName, mutationType }\n });\n\n return !event.defaultPrevented\n }\n\n beforeNodeRemoved = (node) => {\n return this.beforeNodeMorphed(node)\n }\n\n afterNodeMorphed = (currentElement, newElement) => {\n if (currentElement instanceof Element) {\n dispatch(\"turbo:morph-element\", {\n target: currentElement,\n detail: { currentElement, newElement }\n });\n }\n }\n}\n\nclass MorphingFrameRenderer extends FrameRenderer {\n static renderElement(currentElement, newElement) {\n dispatch(\"turbo:before-frame-morph\", {\n target: currentElement,\n detail: { currentElement, newElement }\n });\n\n morphChildren(currentElement, newElement);\n }\n\n async preservingPermanentElements(callback) {\n return await callback()\n }\n}\n\nclass ProgressBar {\n static animationDuration = 300 /*ms*/\n\n static get defaultCSS() {\n return unindent`\n .turbo-progress-bar {\n position: fixed;\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n background: #0076ff;\n z-index: 2147483647;\n transition:\n width ${ProgressBar.animationDuration}ms ease-out,\n opacity ${ProgressBar.animationDuration / 2}ms ${ProgressBar.animationDuration / 2}ms ease-in;\n transform: translate3d(0, 0, 0);\n }\n `\n }\n\n hiding = false\n value = 0\n visible = false\n\n constructor() {\n this.stylesheetElement = this.createStylesheetElement();\n this.progressElement = this.createProgressElement();\n this.installStylesheetElement();\n this.setValue(0);\n }\n\n show() {\n if (!this.visible) {\n this.visible = true;\n this.installProgressElement();\n this.startTrickling();\n }\n }\n\n hide() {\n if (this.visible && !this.hiding) {\n this.hiding = true;\n this.fadeProgressElement(() => {\n this.uninstallProgressElement();\n this.stopTrickling();\n this.visible = false;\n this.hiding = false;\n });\n }\n }\n\n setValue(value) {\n this.value = value;\n this.refresh();\n }\n\n // Private\n\n installStylesheetElement() {\n document.head.insertBefore(this.stylesheetElement, document.head.firstChild);\n }\n\n installProgressElement() {\n this.progressElement.style.width = \"0\";\n this.progressElement.style.opacity = \"1\";\n document.documentElement.insertBefore(this.progressElement, document.body);\n this.refresh();\n }\n\n fadeProgressElement(callback) {\n this.progressElement.style.opacity = \"0\";\n setTimeout(callback, ProgressBar.animationDuration * 1.5);\n }\n\n uninstallProgressElement() {\n if (this.progressElement.parentNode) {\n document.documentElement.removeChild(this.progressElement);\n }\n }\n\n startTrickling() {\n if (!this.trickleInterval) {\n this.trickleInterval = window.setInterval(this.trickle, ProgressBar.animationDuration);\n }\n }\n\n stopTrickling() {\n window.clearInterval(this.trickleInterval);\n delete this.trickleInterval;\n }\n\n trickle = () => {\n this.setValue(this.value + Math.random() / 100);\n }\n\n refresh() {\n requestAnimationFrame(() => {\n this.progressElement.style.width = `${10 + this.value * 90}%`;\n });\n }\n\n createStylesheetElement() {\n const element = document.createElement(\"style\");\n element.type = \"text/css\";\n element.textContent = ProgressBar.defaultCSS;\n const cspNonce = getCspNonce();\n if (cspNonce) {\n element.nonce = cspNonce;\n }\n return element\n }\n\n createProgressElement() {\n const element = document.createElement(\"div\");\n element.className = \"turbo-progress-bar\";\n return element\n }\n}\n\nclass HeadSnapshot extends Snapshot {\n detailsByOuterHTML = this.children\n .filter((element) => !elementIsNoscript(element))\n .map((element) => elementWithoutNonce(element))\n .reduce((result, element) => {\n const { outerHTML } = element;\n const details =\n outerHTML in result\n ? result[outerHTML]\n : {\n type: elementType(element),\n tracked: elementIsTracked(element),\n elements: []\n };\n return {\n ...result,\n [outerHTML]: {\n ...details,\n elements: [...details.elements, element]\n }\n }\n }, {})\n\n get trackedElementSignature() {\n return Object.keys(this.detailsByOuterHTML)\n .filter((outerHTML) => this.detailsByOuterHTML[outerHTML].tracked)\n .join(\"\")\n }\n\n getScriptElementsNotInSnapshot(snapshot) {\n return this.getElementsMatchingTypeNotInSnapshot(\"script\", snapshot)\n }\n\n getStylesheetElementsNotInSnapshot(snapshot) {\n return this.getElementsMatchingTypeNotInSnapshot(\"stylesheet\", snapshot)\n }\n\n getElementsMatchingTypeNotInSnapshot(matchedType, snapshot) {\n return Object.keys(this.detailsByOuterHTML)\n .filter((outerHTML) => !(outerHTML in snapshot.detailsByOuterHTML))\n .map((outerHTML) => this.detailsByOuterHTML[outerHTML])\n .filter(({ type }) => type == matchedType)\n .map(({ elements: [element] }) => element)\n }\n\n get provisionalElements() {\n return Object.keys(this.detailsByOuterHTML).reduce((result, outerHTML) => {\n const { type, tracked, elements } = this.detailsByOuterHTML[outerHTML];\n if (type == null && !tracked) {\n return [...result, ...elements]\n } else if (elements.length > 1) {\n return [...result, ...elements.slice(1)]\n } else {\n return result\n }\n }, [])\n }\n\n getMetaValue(name) {\n const element = this.findMetaElementByName(name);\n return element ? element.getAttribute(\"content\") : null\n }\n\n findMetaElementByName(name) {\n return Object.keys(this.detailsByOuterHTML).reduce((result, outerHTML) => {\n const {\n elements: [element]\n } = this.detailsByOuterHTML[outerHTML];\n return elementIsMetaElementWithName(element, name) ? element : result\n }, undefined | undefined)\n }\n}\n\nfunction elementType(element) {\n if (elementIsScript(element)) {\n return \"script\"\n } else if (elementIsStylesheet(element)) {\n return \"stylesheet\"\n }\n}\n\nfunction elementIsTracked(element) {\n return element.getAttribute(\"data-turbo-track\") == \"reload\"\n}\n\nfunction elementIsScript(element) {\n const tagName = element.localName;\n return tagName == \"script\"\n}\n\nfunction elementIsNoscript(element) {\n const tagName = element.localName;\n return tagName == \"noscript\"\n}\n\nfunction elementIsStylesheet(element) {\n const tagName = element.localName;\n return tagName == \"style\" || (tagName == \"link\" && element.getAttribute(\"rel\") == \"stylesheet\")\n}\n\nfunction elementIsMetaElementWithName(element, name) {\n const tagName = element.localName;\n return tagName == \"meta\" && element.getAttribute(\"name\") == name\n}\n\nfunction elementWithoutNonce(element) {\n if (element.hasAttribute(\"nonce\")) {\n element.setAttribute(\"nonce\", \"\");\n }\n\n return element\n}\n\nclass PageSnapshot extends Snapshot {\n static fromHTMLString(html = \"\") {\n return this.fromDocument(parseHTMLDocument(html))\n }\n\n static fromElement(element) {\n return this.fromDocument(element.ownerDocument)\n }\n\n static fromDocument({ documentElement, body, head }) {\n return new this(documentElement, body, new HeadSnapshot(head))\n }\n\n constructor(documentElement, body, headSnapshot) {\n super(body);\n this.documentElement = documentElement;\n this.headSnapshot = headSnapshot;\n }\n\n clone() {\n const clonedElement = this.element.cloneNode(true);\n\n const selectElements = this.element.querySelectorAll(\"select\");\n const clonedSelectElements = clonedElement.querySelectorAll(\"select\");\n\n for (const [index, source] of selectElements.entries()) {\n const clone = clonedSelectElements[index];\n for (const option of clone.selectedOptions) option.selected = false;\n for (const option of source.selectedOptions) clone.options[option.index].selected = true;\n }\n\n for (const clonedPasswordInput of clonedElement.querySelectorAll('input[type=\"password\"]')) {\n clonedPasswordInput.value = \"\";\n }\n\n return new PageSnapshot(this.documentElement, clonedElement, this.headSnapshot)\n }\n\n get lang() {\n return this.documentElement.getAttribute(\"lang\")\n }\n\n get headElement() {\n return this.headSnapshot.element\n }\n\n get rootLocation() {\n const root = this.getSetting(\"root\") ?? \"/\";\n return expandURL(root)\n }\n\n get cacheControlValue() {\n return this.getSetting(\"cache-control\")\n }\n\n get isPreviewable() {\n return this.cacheControlValue != \"no-preview\"\n }\n\n get isCacheable() {\n return this.cacheControlValue != \"no-cache\"\n }\n\n get isVisitable() {\n return this.getSetting(\"visit-control\") != \"reload\"\n }\n\n get prefersViewTransitions() {\n return this.headSnapshot.getMetaValue(\"view-transition\") === \"same-origin\"\n }\n\n get shouldMorphPage() {\n return this.getSetting(\"refresh-method\") === \"morph\"\n }\n\n get shouldPreserveScrollPosition() {\n return this.getSetting(\"refresh-scroll\") === \"preserve\"\n }\n\n // Private\n\n getSetting(name) {\n return this.headSnapshot.getMetaValue(`turbo-${name}`)\n }\n}\n\nclass ViewTransitioner {\n #viewTransitionStarted = false\n #lastOperation = Promise.resolve()\n\n renderChange(useViewTransition, render) {\n if (useViewTransition && this.viewTransitionsAvailable && !this.#viewTransitionStarted) {\n this.#viewTransitionStarted = true;\n this.#lastOperation = this.#lastOperation.then(async () => {\n await document.startViewTransition(render).finished;\n });\n } else {\n this.#lastOperation = this.#lastOperation.then(render);\n }\n\n return this.#lastOperation\n }\n\n get viewTransitionsAvailable() {\n return document.startViewTransition\n }\n}\n\nconst defaultOptions = {\n action: \"advance\",\n historyChanged: false,\n visitCachedSnapshot: () => {},\n willRender: true,\n updateHistory: true,\n shouldCacheSnapshot: true,\n acceptsStreamResponse: false\n};\n\nconst TimingMetric = {\n visitStart: \"visitStart\",\n requestStart: \"requestStart\",\n requestEnd: \"requestEnd\",\n visitEnd: \"visitEnd\"\n};\n\nconst VisitState = {\n initialized: \"initialized\",\n started: \"started\",\n canceled: \"canceled\",\n failed: \"failed\",\n completed: \"completed\"\n};\n\nconst SystemStatusCode = {\n networkFailure: 0,\n timeoutFailure: -1,\n contentTypeMismatch: -2\n};\n\nconst Direction = {\n advance: \"forward\",\n restore: \"back\",\n replace: \"none\"\n};\n\nclass Visit {\n identifier = uuid() // Required by turbo-ios\n timingMetrics = {}\n\n followedRedirect = false\n historyChanged = false\n scrolled = false\n shouldCacheSnapshot = true\n acceptsStreamResponse = false\n snapshotCached = false\n state = VisitState.initialized\n viewTransitioner = new ViewTransitioner()\n\n constructor(delegate, location, restorationIdentifier, options = {}) {\n this.delegate = delegate;\n this.location = location;\n this.restorationIdentifier = restorationIdentifier || uuid();\n\n const {\n action,\n historyChanged,\n referrer,\n snapshot,\n snapshotHTML,\n response,\n visitCachedSnapshot,\n willRender,\n updateHistory,\n shouldCacheSnapshot,\n acceptsStreamResponse,\n direction\n } = {\n ...defaultOptions,\n ...options\n };\n this.action = action;\n this.historyChanged = historyChanged;\n this.referrer = referrer;\n this.snapshot = snapshot;\n this.snapshotHTML = snapshotHTML;\n this.response = response;\n this.isSamePage = this.delegate.locationWithActionIsSamePage(this.location, this.action);\n this.isPageRefresh = this.view.isPageRefresh(this);\n this.visitCachedSnapshot = visitCachedSnapshot;\n this.willRender = willRender;\n this.updateHistory = updateHistory;\n this.scrolled = !willRender;\n this.shouldCacheSnapshot = shouldCacheSnapshot;\n this.acceptsStreamResponse = acceptsStreamResponse;\n this.direction = direction || Direction[action];\n }\n\n get adapter() {\n return this.delegate.adapter\n }\n\n get view() {\n return this.delegate.view\n }\n\n get history() {\n return this.delegate.history\n }\n\n get restorationData() {\n return this.history.getRestorationDataForIdentifier(this.restorationIdentifier)\n }\n\n get silent() {\n return this.isSamePage\n }\n\n start() {\n if (this.state == VisitState.initialized) {\n this.recordTimingMetric(TimingMetric.visitStart);\n this.state = VisitState.started;\n this.adapter.visitStarted(this);\n this.delegate.visitStarted(this);\n }\n }\n\n cancel() {\n if (this.state == VisitState.started) {\n if (this.request) {\n this.request.cancel();\n }\n this.cancelRender();\n this.state = VisitState.canceled;\n }\n }\n\n complete() {\n if (this.state == VisitState.started) {\n this.recordTimingMetric(TimingMetric.visitEnd);\n this.adapter.visitCompleted(this);\n this.state = VisitState.completed;\n this.followRedirect();\n\n if (!this.followedRedirect) {\n this.delegate.visitCompleted(this);\n }\n }\n }\n\n fail() {\n if (this.state == VisitState.started) {\n this.state = VisitState.failed;\n this.adapter.visitFailed(this);\n this.delegate.visitCompleted(this);\n }\n }\n\n changeHistory() {\n if (!this.historyChanged && this.updateHistory) {\n const actionForHistory = this.location.href === this.referrer?.href ? \"replace\" : this.action;\n const method = getHistoryMethodForAction(actionForHistory);\n this.history.update(method, this.location, this.restorationIdentifier);\n this.historyChanged = true;\n }\n }\n\n issueRequest() {\n if (this.hasPreloadedResponse()) {\n this.simulateRequest();\n } else if (this.shouldIssueRequest() && !this.request) {\n this.request = new FetchRequest(this, FetchMethod.get, this.location);\n this.request.perform();\n }\n }\n\n simulateRequest() {\n if (this.response) {\n this.startRequest();\n this.recordResponse();\n this.finishRequest();\n }\n }\n\n startRequest() {\n this.recordTimingMetric(TimingMetric.requestStart);\n this.adapter.visitRequestStarted(this);\n }\n\n recordResponse(response = this.response) {\n this.response = response;\n if (response) {\n const { statusCode } = response;\n if (isSuccessful(statusCode)) {\n this.adapter.visitRequestCompleted(this);\n } else {\n this.adapter.visitRequestFailedWithStatusCode(this, statusCode);\n }\n }\n }\n\n finishRequest() {\n this.recordTimingMetric(TimingMetric.requestEnd);\n this.adapter.visitRequestFinished(this);\n }\n\n loadResponse() {\n if (this.response) {\n const { statusCode, responseHTML } = this.response;\n this.render(async () => {\n if (this.shouldCacheSnapshot) this.cacheSnapshot();\n if (this.view.renderPromise) await this.view.renderPromise;\n\n if (isSuccessful(statusCode) && responseHTML != null) {\n const snapshot = PageSnapshot.fromHTMLString(responseHTML);\n await this.renderPageSnapshot(snapshot, false);\n\n this.adapter.visitRendered(this);\n this.complete();\n } else {\n await this.view.renderError(PageSnapshot.fromHTMLString(responseHTML), this);\n this.adapter.visitRendered(this);\n this.fail();\n }\n });\n }\n }\n\n getCachedSnapshot() {\n const snapshot = this.view.getCachedSnapshotForLocation(this.location) || this.getPreloadedSnapshot();\n\n if (snapshot && (!getAnchor(this.location) || snapshot.hasAnchor(getAnchor(this.location)))) {\n if (this.action == \"restore\" || snapshot.isPreviewable) {\n return snapshot\n }\n }\n }\n\n getPreloadedSnapshot() {\n if (this.snapshotHTML) {\n return PageSnapshot.fromHTMLString(this.snapshotHTML)\n }\n }\n\n hasCachedSnapshot() {\n return this.getCachedSnapshot() != null\n }\n\n loadCachedSnapshot() {\n const snapshot = this.getCachedSnapshot();\n if (snapshot) {\n const isPreview = this.shouldIssueRequest();\n this.render(async () => {\n this.cacheSnapshot();\n if (this.isSamePage || this.isPageRefresh) {\n this.adapter.visitRendered(this);\n } else {\n if (this.view.renderPromise) await this.view.renderPromise;\n\n await this.renderPageSnapshot(snapshot, isPreview);\n\n this.adapter.visitRendered(this);\n if (!isPreview) {\n this.complete();\n }\n }\n });\n }\n }\n\n followRedirect() {\n if (this.redirectedToLocation && !this.followedRedirect && this.response?.redirected) {\n this.adapter.visitProposedToLocation(this.redirectedToLocation, {\n action: \"replace\",\n response: this.response,\n shouldCacheSnapshot: false,\n willRender: false\n });\n this.followedRedirect = true;\n }\n }\n\n goToSamePageAnchor() {\n if (this.isSamePage) {\n this.render(async () => {\n this.cacheSnapshot();\n this.performScroll();\n this.changeHistory();\n this.adapter.visitRendered(this);\n });\n }\n }\n\n // Fetch request delegate\n\n prepareRequest(request) {\n if (this.acceptsStreamResponse) {\n request.acceptResponseType(StreamMessage.contentType);\n }\n }\n\n requestStarted() {\n this.startRequest();\n }\n\n requestPreventedHandlingResponse(_request, _response) {}\n\n async requestSucceededWithResponse(request, response) {\n const responseHTML = await response.responseHTML;\n const { redirected, statusCode } = response;\n if (responseHTML == undefined) {\n this.recordResponse({\n statusCode: SystemStatusCode.contentTypeMismatch,\n redirected\n });\n } else {\n this.redirectedToLocation = response.redirected ? response.location : undefined;\n this.recordResponse({ statusCode: statusCode, responseHTML, redirected });\n }\n }\n\n async requestFailedWithResponse(request, response) {\n const responseHTML = await response.responseHTML;\n const { redirected, statusCode } = response;\n if (responseHTML == undefined) {\n this.recordResponse({\n statusCode: SystemStatusCode.contentTypeMismatch,\n redirected\n });\n } else {\n this.recordResponse({ statusCode: statusCode, responseHTML, redirected });\n }\n }\n\n requestErrored(_request, _error) {\n this.recordResponse({\n statusCode: SystemStatusCode.networkFailure,\n redirected: false\n });\n }\n\n requestFinished() {\n this.finishRequest();\n }\n\n // Scrolling\n\n performScroll() {\n if (!this.scrolled && !this.view.forceReloaded && !this.view.shouldPreserveScrollPosition(this)) {\n if (this.action == \"restore\") {\n this.scrollToRestoredPosition() || this.scrollToAnchor() || this.view.scrollToTop();\n } else {\n this.scrollToAnchor() || this.view.scrollToTop();\n }\n if (this.isSamePage) {\n this.delegate.visitScrolledToSamePageLocation(this.view.lastRenderedLocation, this.location);\n }\n\n this.scrolled = true;\n }\n }\n\n scrollToRestoredPosition() {\n const { scrollPosition } = this.restorationData;\n if (scrollPosition) {\n this.view.scrollToPosition(scrollPosition);\n return true\n }\n }\n\n scrollToAnchor() {\n const anchor = getAnchor(this.location);\n if (anchor != null) {\n this.view.scrollToAnchor(anchor);\n return true\n }\n }\n\n // Instrumentation\n\n recordTimingMetric(metric) {\n this.timingMetrics[metric] = new Date().getTime();\n }\n\n getTimingMetrics() {\n return { ...this.timingMetrics }\n }\n\n // Private\n\n getHistoryMethodForAction(action) {\n switch (action) {\n case \"replace\":\n return history.replaceState\n case \"advance\":\n case \"restore\":\n return history.pushState\n }\n }\n\n hasPreloadedResponse() {\n return typeof this.response == \"object\"\n }\n\n shouldIssueRequest() {\n if (this.isSamePage) {\n return false\n } else if (this.action == \"restore\") {\n return !this.hasCachedSnapshot()\n } else {\n return this.willRender\n }\n }\n\n cacheSnapshot() {\n if (!this.snapshotCached) {\n this.view.cacheSnapshot(this.snapshot).then((snapshot) => snapshot && this.visitCachedSnapshot(snapshot));\n this.snapshotCached = true;\n }\n }\n\n async render(callback) {\n this.cancelRender();\n await new Promise((resolve) => {\n this.frame =\n document.visibilityState === \"hidden\" ? setTimeout(() => resolve(), 0) : requestAnimationFrame(() => resolve());\n });\n await callback();\n delete this.frame;\n }\n\n async renderPageSnapshot(snapshot, isPreview) {\n await this.viewTransitioner.renderChange(this.view.shouldTransitionTo(snapshot), async () => {\n await this.view.renderPage(snapshot, isPreview, this.willRender, this);\n this.performScroll();\n });\n }\n\n cancelRender() {\n if (this.frame) {\n cancelAnimationFrame(this.frame);\n delete this.frame;\n }\n }\n}\n\nfunction isSuccessful(statusCode) {\n return statusCode >= 200 && statusCode < 300\n}\n\nclass BrowserAdapter {\n progressBar = new ProgressBar()\n\n constructor(session) {\n this.session = session;\n }\n\n visitProposedToLocation(location, options) {\n if (locationIsVisitable(location, this.navigator.rootLocation)) {\n this.navigator.startVisit(location, options?.restorationIdentifier || uuid(), options);\n } else {\n window.location.href = location.toString();\n }\n }\n\n visitStarted(visit) {\n this.location = visit.location;\n visit.loadCachedSnapshot();\n visit.issueRequest();\n visit.goToSamePageAnchor();\n }\n\n visitRequestStarted(visit) {\n this.progressBar.setValue(0);\n if (visit.hasCachedSnapshot() || visit.action != \"restore\") {\n this.showVisitProgressBarAfterDelay();\n } else {\n this.showProgressBar();\n }\n }\n\n visitRequestCompleted(visit) {\n visit.loadResponse();\n }\n\n visitRequestFailedWithStatusCode(visit, statusCode) {\n switch (statusCode) {\n case SystemStatusCode.networkFailure:\n case SystemStatusCode.timeoutFailure:\n case SystemStatusCode.contentTypeMismatch:\n return this.reload({\n reason: \"request_failed\",\n context: {\n statusCode\n }\n })\n default:\n return visit.loadResponse()\n }\n }\n\n visitRequestFinished(_visit) {}\n\n visitCompleted(_visit) {\n this.progressBar.setValue(1);\n this.hideVisitProgressBar();\n }\n\n pageInvalidated(reason) {\n this.reload(reason);\n }\n\n visitFailed(_visit) {\n this.progressBar.setValue(1);\n this.hideVisitProgressBar();\n }\n\n visitRendered(_visit) {}\n\n // Form Submission Delegate\n\n formSubmissionStarted(_formSubmission) {\n this.progressBar.setValue(0);\n this.showFormProgressBarAfterDelay();\n }\n\n formSubmissionFinished(_formSubmission) {\n this.progressBar.setValue(1);\n this.hideFormProgressBar();\n }\n\n // Private\n\n showVisitProgressBarAfterDelay() {\n this.visitProgressBarTimeout = window.setTimeout(this.showProgressBar, this.session.progressBarDelay);\n }\n\n hideVisitProgressBar() {\n this.progressBar.hide();\n if (this.visitProgressBarTimeout != null) {\n window.clearTimeout(this.visitProgressBarTimeout);\n delete this.visitProgressBarTimeout;\n }\n }\n\n showFormProgressBarAfterDelay() {\n if (this.formProgressBarTimeout == null) {\n this.formProgressBarTimeout = window.setTimeout(this.showProgressBar, this.session.progressBarDelay);\n }\n }\n\n hideFormProgressBar() {\n this.progressBar.hide();\n if (this.formProgressBarTimeout != null) {\n window.clearTimeout(this.formProgressBarTimeout);\n delete this.formProgressBarTimeout;\n }\n }\n\n showProgressBar = () => {\n this.progressBar.show();\n }\n\n reload(reason) {\n dispatch(\"turbo:reload\", { detail: reason });\n\n window.location.href = this.location?.toString() || window.location.href;\n }\n\n get navigator() {\n return this.session.navigator\n }\n}\n\nclass CacheObserver {\n selector = \"[data-turbo-temporary]\"\n deprecatedSelector = \"[data-turbo-cache=false]\"\n\n started = false\n\n start() {\n if (!this.started) {\n this.started = true;\n addEventListener(\"turbo:before-cache\", this.removeTemporaryElements, false);\n }\n }\n\n stop() {\n if (this.started) {\n this.started = false;\n removeEventListener(\"turbo:before-cache\", this.removeTemporaryElements, false);\n }\n }\n\n removeTemporaryElements = (_event) => {\n for (const element of this.temporaryElements) {\n element.remove();\n }\n }\n\n get temporaryElements() {\n return [...document.querySelectorAll(this.selector), ...this.temporaryElementsWithDeprecation]\n }\n\n get temporaryElementsWithDeprecation() {\n const elements = document.querySelectorAll(this.deprecatedSelector);\n\n if (elements.length) {\n console.warn(\n `The ${this.deprecatedSelector} selector is deprecated and will be removed in a future version. Use ${this.selector} instead.`\n );\n }\n\n return [...elements]\n }\n}\n\nclass FrameRedirector {\n constructor(session, element) {\n this.session = session;\n this.element = element;\n this.linkInterceptor = new LinkInterceptor(this, element);\n this.formSubmitObserver = new FormSubmitObserver(this, element);\n }\n\n start() {\n this.linkInterceptor.start();\n this.formSubmitObserver.start();\n }\n\n stop() {\n this.linkInterceptor.stop();\n this.formSubmitObserver.stop();\n }\n\n // Link interceptor delegate\n\n shouldInterceptLinkClick(element, _location, _event) {\n return this.#shouldRedirect(element)\n }\n\n linkClickIntercepted(element, url, event) {\n const frame = this.#findFrameElement(element);\n if (frame) {\n frame.delegate.linkClickIntercepted(element, url, event);\n }\n }\n\n // Form submit observer delegate\n\n willSubmitForm(element, submitter) {\n return (\n element.closest(\"turbo-frame\") == null &&\n this.#shouldSubmit(element, submitter) &&\n this.#shouldRedirect(element, submitter)\n )\n }\n\n formSubmitted(element, submitter) {\n const frame = this.#findFrameElement(element, submitter);\n if (frame) {\n frame.delegate.formSubmitted(element, submitter);\n }\n }\n\n #shouldSubmit(form, submitter) {\n const action = getAction$1(form, submitter);\n const meta = this.element.ownerDocument.querySelector(`meta[name=\"turbo-root\"]`);\n const rootLocation = expandURL(meta?.content ?? \"/\");\n\n return this.#shouldRedirect(form, submitter) && locationIsVisitable(action, rootLocation)\n }\n\n #shouldRedirect(element, submitter) {\n const isNavigatable =\n element instanceof HTMLFormElement\n ? this.session.submissionIsNavigatable(element, submitter)\n : this.session.elementIsNavigatable(element);\n\n if (isNavigatable) {\n const frame = this.#findFrameElement(element, submitter);\n return frame ? frame != element.closest(\"turbo-frame\") : false\n } else {\n return false\n }\n }\n\n #findFrameElement(element, submitter) {\n const id = submitter?.getAttribute(\"data-turbo-frame\") || element.getAttribute(\"data-turbo-frame\");\n if (id && id != \"_top\") {\n const frame = this.element.querySelector(`#${id}:not([disabled])`);\n if (frame instanceof FrameElement) {\n return frame\n }\n }\n }\n}\n\nclass History {\n location\n restorationIdentifier = uuid()\n restorationData = {}\n started = false\n pageLoaded = false\n currentIndex = 0\n\n constructor(delegate) {\n this.delegate = delegate;\n }\n\n start() {\n if (!this.started) {\n addEventListener(\"popstate\", this.onPopState, false);\n addEventListener(\"load\", this.onPageLoad, false);\n this.currentIndex = history.state?.turbo?.restorationIndex || 0;\n this.started = true;\n this.replace(new URL(window.location.href));\n }\n }\n\n stop() {\n if (this.started) {\n removeEventListener(\"popstate\", this.onPopState, false);\n removeEventListener(\"load\", this.onPageLoad, false);\n this.started = false;\n }\n }\n\n push(location, restorationIdentifier) {\n this.update(history.pushState, location, restorationIdentifier);\n }\n\n replace(location, restorationIdentifier) {\n this.update(history.replaceState, location, restorationIdentifier);\n }\n\n update(method, location, restorationIdentifier = uuid()) {\n if (method === history.pushState) ++this.currentIndex;\n\n const state = { turbo: { restorationIdentifier, restorationIndex: this.currentIndex } };\n method.call(history, state, \"\", location.href);\n this.location = location;\n this.restorationIdentifier = restorationIdentifier;\n }\n\n // Restoration data\n\n getRestorationDataForIdentifier(restorationIdentifier) {\n return this.restorationData[restorationIdentifier] || {}\n }\n\n updateRestorationData(additionalData) {\n const { restorationIdentifier } = this;\n const restorationData = this.restorationData[restorationIdentifier];\n this.restorationData[restorationIdentifier] = {\n ...restorationData,\n ...additionalData\n };\n }\n\n // Scroll restoration\n\n assumeControlOfScrollRestoration() {\n if (!this.previousScrollRestoration) {\n this.previousScrollRestoration = history.scrollRestoration ?? \"auto\";\n history.scrollRestoration = \"manual\";\n }\n }\n\n relinquishControlOfScrollRestoration() {\n if (this.previousScrollRestoration) {\n history.scrollRestoration = this.previousScrollRestoration;\n delete this.previousScrollRestoration;\n }\n }\n\n // Event handlers\n\n onPopState = (event) => {\n if (this.shouldHandlePopState()) {\n const { turbo } = event.state || {};\n if (turbo) {\n this.location = new URL(window.location.href);\n const { restorationIdentifier, restorationIndex } = turbo;\n this.restorationIdentifier = restorationIdentifier;\n const direction = restorationIndex > this.currentIndex ? \"forward\" : \"back\";\n this.delegate.historyPoppedToLocationWithRestorationIdentifierAndDirection(this.location, restorationIdentifier, direction);\n this.currentIndex = restorationIndex;\n }\n }\n }\n\n onPageLoad = async (_event) => {\n await nextMicrotask();\n this.pageLoaded = true;\n }\n\n // Private\n\n shouldHandlePopState() {\n // Safari dispatches a popstate event after window's load event, ignore it\n return this.pageIsLoaded()\n }\n\n pageIsLoaded() {\n return this.pageLoaded || document.readyState == \"complete\"\n }\n}\n\nclass LinkPrefetchObserver {\n started = false\n #prefetchedLink = null\n\n constructor(delegate, eventTarget) {\n this.delegate = delegate;\n this.eventTarget = eventTarget;\n }\n\n start() {\n if (this.started) return\n\n if (this.eventTarget.readyState === \"loading\") {\n this.eventTarget.addEventListener(\"DOMContentLoaded\", this.#enable, { once: true });\n } else {\n this.#enable();\n }\n }\n\n stop() {\n if (!this.started) return\n\n this.eventTarget.removeEventListener(\"mouseenter\", this.#tryToPrefetchRequest, {\n capture: true,\n passive: true\n });\n this.eventTarget.removeEventListener(\"mouseleave\", this.#cancelRequestIfObsolete, {\n capture: true,\n passive: true\n });\n\n this.eventTarget.removeEventListener(\"turbo:before-fetch-request\", this.#tryToUsePrefetchedRequest, true);\n this.started = false;\n }\n\n #enable = () => {\n this.eventTarget.addEventListener(\"mouseenter\", this.#tryToPrefetchRequest, {\n capture: true,\n passive: true\n });\n this.eventTarget.addEventListener(\"mouseleave\", this.#cancelRequestIfObsolete, {\n capture: true,\n passive: true\n });\n\n this.eventTarget.addEventListener(\"turbo:before-fetch-request\", this.#tryToUsePrefetchedRequest, true);\n this.started = true;\n }\n\n #tryToPrefetchRequest = (event) => {\n if (getMetaContent(\"turbo-prefetch\") === \"false\") return\n\n const target = event.target;\n const isLink = target.matches && target.matches(\"a[href]:not([target^=_]):not([download])\");\n\n if (isLink && this.#isPrefetchable(target)) {\n const link = target;\n const location = getLocationForLink(link);\n\n if (this.delegate.canPrefetchRequestToLocation(link, location)) {\n this.#prefetchedLink = link;\n\n const fetchRequest = new FetchRequest(\n this,\n FetchMethod.get,\n location,\n new URLSearchParams(),\n target\n );\n\n prefetchCache.setLater(location.toString(), fetchRequest, this.#cacheTtl);\n }\n }\n }\n\n #cancelRequestIfObsolete = (event) => {\n if (event.target === this.#prefetchedLink) this.#cancelPrefetchRequest();\n }\n\n #cancelPrefetchRequest = () => {\n prefetchCache.clear();\n this.#prefetchedLink = null;\n }\n\n #tryToUsePrefetchedRequest = (event) => {\n if (event.target.tagName !== \"FORM\" && event.detail.fetchOptions.method === \"GET\") {\n const cached = prefetchCache.get(event.detail.url.toString());\n\n if (cached) {\n // User clicked link, use cache response\n event.detail.fetchRequest = cached;\n }\n\n prefetchCache.clear();\n }\n }\n\n prepareRequest(request) {\n const link = request.target;\n\n request.headers[\"X-Sec-Purpose\"] = \"prefetch\";\n\n const turboFrame = link.closest(\"turbo-frame\");\n const turboFrameTarget = link.getAttribute(\"data-turbo-frame\") || turboFrame?.getAttribute(\"target\") || turboFrame?.id;\n\n if (turboFrameTarget && turboFrameTarget !== \"_top\") {\n request.headers[\"Turbo-Frame\"] = turboFrameTarget;\n }\n }\n\n // Fetch request interface\n\n requestSucceededWithResponse() {}\n\n requestStarted(fetchRequest) {}\n\n requestErrored(fetchRequest) {}\n\n requestFinished(fetchRequest) {}\n\n requestPreventedHandlingResponse(fetchRequest, fetchResponse) {}\n\n requestFailedWithResponse(fetchRequest, fetchResponse) {}\n\n get #cacheTtl() {\n return Number(getMetaContent(\"turbo-prefetch-cache-time\")) || cacheTtl\n }\n\n #isPrefetchable(link) {\n const href = link.getAttribute(\"href\");\n\n if (!href) return false\n\n if (unfetchableLink(link)) return false\n if (linkToTheSamePage(link)) return false\n if (linkOptsOut(link)) return false\n if (nonSafeLink(link)) return false\n if (eventPrevented(link)) return false\n\n return true\n }\n}\n\nconst unfetchableLink = (link) => {\n return link.origin !== document.location.origin || ![\"http:\", \"https:\"].includes(link.protocol) || link.hasAttribute(\"target\")\n};\n\nconst linkToTheSamePage = (link) => {\n return (link.pathname + link.search === document.location.pathname + document.location.search) || link.href.startsWith(\"#\")\n};\n\nconst linkOptsOut = (link) => {\n if (link.getAttribute(\"data-turbo-prefetch\") === \"false\") return true\n if (link.getAttribute(\"data-turbo\") === \"false\") return true\n\n const turboPrefetchParent = findClosestRecursively(link, \"[data-turbo-prefetch]\");\n if (turboPrefetchParent && turboPrefetchParent.getAttribute(\"data-turbo-prefetch\") === \"false\") return true\n\n return false\n};\n\nconst nonSafeLink = (link) => {\n const turboMethod = link.getAttribute(\"data-turbo-method\");\n if (turboMethod && turboMethod.toLowerCase() !== \"get\") return true\n\n if (isUJS(link)) return true\n if (link.hasAttribute(\"data-turbo-confirm\")) return true\n if (link.hasAttribute(\"data-turbo-stream\")) return true\n\n return false\n};\n\nconst isUJS = (link) => {\n return link.hasAttribute(\"data-remote\") || link.hasAttribute(\"data-behavior\") || link.hasAttribute(\"data-confirm\") || link.hasAttribute(\"data-method\")\n};\n\nconst eventPrevented = (link) => {\n const event = dispatch(\"turbo:before-prefetch\", { target: link, cancelable: true });\n return event.defaultPrevented\n};\n\nclass Navigator {\n constructor(delegate) {\n this.delegate = delegate;\n }\n\n proposeVisit(location, options = {}) {\n if (this.delegate.allowsVisitingLocationWithAction(location, options.action)) {\n this.delegate.visitProposedToLocation(location, options);\n }\n }\n\n startVisit(locatable, restorationIdentifier, options = {}) {\n this.stop();\n this.currentVisit = new Visit(this, expandURL(locatable), restorationIdentifier, {\n referrer: this.location,\n ...options\n });\n this.currentVisit.start();\n }\n\n submitForm(form, submitter) {\n this.stop();\n this.formSubmission = new FormSubmission(this, form, submitter, true);\n\n this.formSubmission.start();\n }\n\n stop() {\n if (this.formSubmission) {\n this.formSubmission.stop();\n delete this.formSubmission;\n }\n\n if (this.currentVisit) {\n this.currentVisit.cancel();\n delete this.currentVisit;\n }\n }\n\n get adapter() {\n return this.delegate.adapter\n }\n\n get view() {\n return this.delegate.view\n }\n\n get rootLocation() {\n return this.view.snapshot.rootLocation\n }\n\n get history() {\n return this.delegate.history\n }\n\n // Form submission delegate\n\n formSubmissionStarted(formSubmission) {\n // Not all adapters implement formSubmissionStarted\n if (typeof this.adapter.formSubmissionStarted === \"function\") {\n this.adapter.formSubmissionStarted(formSubmission);\n }\n }\n\n async formSubmissionSucceededWithResponse(formSubmission, fetchResponse) {\n if (formSubmission == this.formSubmission) {\n const responseHTML = await fetchResponse.responseHTML;\n if (responseHTML) {\n const shouldCacheSnapshot = formSubmission.isSafe;\n if (!shouldCacheSnapshot) {\n this.view.clearSnapshotCache();\n }\n\n const { statusCode, redirected } = fetchResponse;\n const action = this.#getActionForFormSubmission(formSubmission, fetchResponse);\n const visitOptions = {\n action,\n shouldCacheSnapshot,\n response: { statusCode, responseHTML, redirected }\n };\n this.proposeVisit(fetchResponse.location, visitOptions);\n }\n }\n }\n\n async formSubmissionFailedWithResponse(formSubmission, fetchResponse) {\n const responseHTML = await fetchResponse.responseHTML;\n\n if (responseHTML) {\n const snapshot = PageSnapshot.fromHTMLString(responseHTML);\n if (fetchResponse.serverError) {\n await this.view.renderError(snapshot, this.currentVisit);\n } else {\n await this.view.renderPage(snapshot, false, true, this.currentVisit);\n }\n if(!snapshot.shouldPreserveScrollPosition) {\n this.view.scrollToTop();\n }\n this.view.clearSnapshotCache();\n }\n }\n\n formSubmissionErrored(formSubmission, error) {\n console.error(error);\n }\n\n formSubmissionFinished(formSubmission) {\n // Not all adapters implement formSubmissionFinished\n if (typeof this.adapter.formSubmissionFinished === \"function\") {\n this.adapter.formSubmissionFinished(formSubmission);\n }\n }\n\n // Visit delegate\n\n visitStarted(visit) {\n this.delegate.visitStarted(visit);\n }\n\n visitCompleted(visit) {\n this.delegate.visitCompleted(visit);\n delete this.currentVisit;\n }\n\n locationWithActionIsSamePage(location, action) {\n const anchor = getAnchor(location);\n const currentAnchor = getAnchor(this.view.lastRenderedLocation);\n const isRestorationToTop = action === \"restore\" && typeof anchor === \"undefined\";\n\n return (\n action !== \"replace\" &&\n getRequestURL(location) === getRequestURL(this.view.lastRenderedLocation) &&\n (isRestorationToTop || (anchor != null && anchor !== currentAnchor))\n )\n }\n\n visitScrolledToSamePageLocation(oldURL, newURL) {\n this.delegate.visitScrolledToSamePageLocation(oldURL, newURL);\n }\n\n // Visits\n\n get location() {\n return this.history.location\n }\n\n get restorationIdentifier() {\n return this.history.restorationIdentifier\n }\n\n #getActionForFormSubmission(formSubmission, fetchResponse) {\n const { submitter, formElement } = formSubmission;\n return getVisitAction(submitter, formElement) || this.#getDefaultAction(fetchResponse)\n }\n\n #getDefaultAction(fetchResponse) {\n const sameLocationRedirect = fetchResponse.redirected && fetchResponse.location.href === this.location?.href;\n return sameLocationRedirect ? \"replace\" : \"advance\"\n }\n}\n\nconst PageStage = {\n initial: 0,\n loading: 1,\n interactive: 2,\n complete: 3\n};\n\nclass PageObserver {\n stage = PageStage.initial\n started = false\n\n constructor(delegate) {\n this.delegate = delegate;\n }\n\n start() {\n if (!this.started) {\n if (this.stage == PageStage.initial) {\n this.stage = PageStage.loading;\n }\n document.addEventListener(\"readystatechange\", this.interpretReadyState, false);\n addEventListener(\"pagehide\", this.pageWillUnload, false);\n this.started = true;\n }\n }\n\n stop() {\n if (this.started) {\n document.removeEventListener(\"readystatechange\", this.interpretReadyState, false);\n removeEventListener(\"pagehide\", this.pageWillUnload, false);\n this.started = false;\n }\n }\n\n interpretReadyState = () => {\n const { readyState } = this;\n if (readyState == \"interactive\") {\n this.pageIsInteractive();\n } else if (readyState == \"complete\") {\n this.pageIsComplete();\n }\n }\n\n pageIsInteractive() {\n if (this.stage == PageStage.loading) {\n this.stage = PageStage.interactive;\n this.delegate.pageBecameInteractive();\n }\n }\n\n pageIsComplete() {\n this.pageIsInteractive();\n if (this.stage == PageStage.interactive) {\n this.stage = PageStage.complete;\n this.delegate.pageLoaded();\n }\n }\n\n pageWillUnload = () => {\n this.delegate.pageWillUnload();\n }\n\n get readyState() {\n return document.readyState\n }\n}\n\nclass ScrollObserver {\n started = false\n\n constructor(delegate) {\n this.delegate = delegate;\n }\n\n start() {\n if (!this.started) {\n addEventListener(\"scroll\", this.onScroll, false);\n this.onScroll();\n this.started = true;\n }\n }\n\n stop() {\n if (this.started) {\n removeEventListener(\"scroll\", this.onScroll, false);\n this.started = false;\n }\n }\n\n onScroll = () => {\n this.updatePosition({ x: window.pageXOffset, y: window.pageYOffset });\n }\n\n // Private\n\n updatePosition(position) {\n this.delegate.scrollPositionChanged(position);\n }\n}\n\nclass StreamMessageRenderer {\n render({ fragment }) {\n Bardo.preservingPermanentElements(this, getPermanentElementMapForFragment(fragment), () => {\n withAutofocusFromFragment(fragment, () => {\n withPreservedFocus(() => {\n document.documentElement.appendChild(fragment);\n });\n });\n });\n }\n\n // Bardo delegate\n\n enteringBardo(currentPermanentElement, newPermanentElement) {\n newPermanentElement.replaceWith(currentPermanentElement.cloneNode(true));\n }\n\n leavingBardo() {}\n}\n\nfunction getPermanentElementMapForFragment(fragment) {\n const permanentElementsInDocument = queryPermanentElementsAll(document.documentElement);\n const permanentElementMap = {};\n for (const permanentElementInDocument of permanentElementsInDocument) {\n const { id } = permanentElementInDocument;\n\n for (const streamElement of fragment.querySelectorAll(\"turbo-stream\")) {\n const elementInStream = getPermanentElementById(streamElement.templateElement.content, id);\n\n if (elementInStream) {\n permanentElementMap[id] = [permanentElementInDocument, elementInStream];\n }\n }\n }\n\n return permanentElementMap\n}\n\nasync function withAutofocusFromFragment(fragment, callback) {\n const generatedID = `turbo-stream-autofocus-${uuid()}`;\n const turboStreams = fragment.querySelectorAll(\"turbo-stream\");\n const elementWithAutofocus = firstAutofocusableElementInStreams(turboStreams);\n let willAutofocusId = null;\n\n if (elementWithAutofocus) {\n if (elementWithAutofocus.id) {\n willAutofocusId = elementWithAutofocus.id;\n } else {\n willAutofocusId = generatedID;\n }\n\n elementWithAutofocus.id = willAutofocusId;\n }\n\n callback();\n await nextRepaint();\n\n const hasNoActiveElement = document.activeElement == null || document.activeElement == document.body;\n\n if (hasNoActiveElement && willAutofocusId) {\n const elementToAutofocus = document.getElementById(willAutofocusId);\n\n if (elementIsFocusable(elementToAutofocus)) {\n elementToAutofocus.focus();\n }\n if (elementToAutofocus && elementToAutofocus.id == generatedID) {\n elementToAutofocus.removeAttribute(\"id\");\n }\n }\n}\n\nasync function withPreservedFocus(callback) {\n const [activeElementBeforeRender, activeElementAfterRender] = await around(callback, () => document.activeElement);\n\n const restoreFocusTo = activeElementBeforeRender && activeElementBeforeRender.id;\n\n if (restoreFocusTo) {\n const elementToFocus = document.getElementById(restoreFocusTo);\n\n if (elementIsFocusable(elementToFocus) && elementToFocus != activeElementAfterRender) {\n elementToFocus.focus();\n }\n }\n}\n\nfunction firstAutofocusableElementInStreams(nodeListOfStreamElements) {\n for (const streamElement of nodeListOfStreamElements) {\n const elementWithAutofocus = queryAutofocusableElement(streamElement.templateElement.content);\n\n if (elementWithAutofocus) return elementWithAutofocus\n }\n\n return null\n}\n\nclass StreamObserver {\n sources = new Set()\n #started = false\n\n constructor(delegate) {\n this.delegate = delegate;\n }\n\n start() {\n if (!this.#started) {\n this.#started = true;\n addEventListener(\"turbo:before-fetch-response\", this.inspectFetchResponse, false);\n }\n }\n\n stop() {\n if (this.#started) {\n this.#started = false;\n removeEventListener(\"turbo:before-fetch-response\", this.inspectFetchResponse, false);\n }\n }\n\n connectStreamSource(source) {\n if (!this.streamSourceIsConnected(source)) {\n this.sources.add(source);\n source.addEventListener(\"message\", this.receiveMessageEvent, false);\n }\n }\n\n disconnectStreamSource(source) {\n if (this.streamSourceIsConnected(source)) {\n this.sources.delete(source);\n source.removeEventListener(\"message\", this.receiveMessageEvent, false);\n }\n }\n\n streamSourceIsConnected(source) {\n return this.sources.has(source)\n }\n\n inspectFetchResponse = (event) => {\n const response = fetchResponseFromEvent(event);\n if (response && fetchResponseIsStream(response)) {\n event.preventDefault();\n this.receiveMessageResponse(response);\n }\n }\n\n receiveMessageEvent = (event) => {\n if (this.#started && typeof event.data == \"string\") {\n this.receiveMessageHTML(event.data);\n }\n }\n\n async receiveMessageResponse(response) {\n const html = await response.responseHTML;\n if (html) {\n this.receiveMessageHTML(html);\n }\n }\n\n receiveMessageHTML(html) {\n this.delegate.receivedMessageFromStream(StreamMessage.wrap(html));\n }\n}\n\nfunction fetchResponseFromEvent(event) {\n const fetchResponse = event.detail?.fetchResponse;\n if (fetchResponse instanceof FetchResponse) {\n return fetchResponse\n }\n}\n\nfunction fetchResponseIsStream(response) {\n const contentType = response.contentType ?? \"\";\n return contentType.startsWith(StreamMessage.contentType)\n}\n\nclass ErrorRenderer extends Renderer {\n static renderElement(currentElement, newElement) {\n const { documentElement, body } = document;\n\n documentElement.replaceChild(newElement, body);\n }\n\n async render() {\n this.replaceHeadAndBody();\n this.activateScriptElements();\n }\n\n replaceHeadAndBody() {\n const { documentElement, head } = document;\n documentElement.replaceChild(this.newHead, head);\n this.renderElement(this.currentElement, this.newElement);\n }\n\n activateScriptElements() {\n for (const replaceableElement of this.scriptElements) {\n const parentNode = replaceableElement.parentNode;\n if (parentNode) {\n const element = activateScriptElement(replaceableElement);\n parentNode.replaceChild(element, replaceableElement);\n }\n }\n }\n\n get newHead() {\n return this.newSnapshot.headSnapshot.element\n }\n\n get scriptElements() {\n return document.documentElement.querySelectorAll(\"script\")\n }\n}\n\nclass PageRenderer extends Renderer {\n static renderElement(currentElement, newElement) {\n if (document.body && newElement instanceof HTMLBodyElement) {\n document.body.replaceWith(newElement);\n } else {\n document.documentElement.appendChild(newElement);\n }\n }\n\n get shouldRender() {\n return this.newSnapshot.isVisitable && this.trackedElementsAreIdentical\n }\n\n get reloadReason() {\n if (!this.newSnapshot.isVisitable) {\n return {\n reason: \"turbo_visit_control_is_reload\"\n }\n }\n\n if (!this.trackedElementsAreIdentical) {\n return {\n reason: \"tracked_element_mismatch\"\n }\n }\n }\n\n async prepareToRender() {\n this.#setLanguage();\n await this.mergeHead();\n }\n\n async render() {\n if (this.willRender) {\n await this.replaceBody();\n }\n }\n\n finishRendering() {\n super.finishRendering();\n if (!this.isPreview) {\n this.focusFirstAutofocusableElement();\n }\n }\n\n get currentHeadSnapshot() {\n return this.currentSnapshot.headSnapshot\n }\n\n get newHeadSnapshot() {\n return this.newSnapshot.headSnapshot\n }\n\n get newElement() {\n return this.newSnapshot.element\n }\n\n #setLanguage() {\n const { documentElement } = this.currentSnapshot;\n const { lang } = this.newSnapshot;\n\n if (lang) {\n documentElement.setAttribute(\"lang\", lang);\n } else {\n documentElement.removeAttribute(\"lang\");\n }\n }\n\n async mergeHead() {\n const mergedHeadElements = this.mergeProvisionalElements();\n const newStylesheetElements = this.copyNewHeadStylesheetElements();\n this.copyNewHeadScriptElements();\n\n await mergedHeadElements;\n await newStylesheetElements;\n\n if (this.willRender) {\n this.removeUnusedDynamicStylesheetElements();\n }\n }\n\n async replaceBody() {\n await this.preservingPermanentElements(async () => {\n this.activateNewBody();\n await this.assignNewBody();\n });\n }\n\n get trackedElementsAreIdentical() {\n return this.currentHeadSnapshot.trackedElementSignature == this.newHeadSnapshot.trackedElementSignature\n }\n\n async copyNewHeadStylesheetElements() {\n const loadingElements = [];\n\n for (const element of this.newHeadStylesheetElements) {\n loadingElements.push(waitForLoad(element));\n\n document.head.appendChild(element);\n }\n\n await Promise.all(loadingElements);\n }\n\n copyNewHeadScriptElements() {\n for (const element of this.newHeadScriptElements) {\n document.head.appendChild(activateScriptElement(element));\n }\n }\n\n removeUnusedDynamicStylesheetElements() {\n for (const element of this.unusedDynamicStylesheetElements) {\n document.head.removeChild(element);\n }\n }\n\n async mergeProvisionalElements() {\n const newHeadElements = [...this.newHeadProvisionalElements];\n\n for (const element of this.currentHeadProvisionalElements) {\n if (!this.isCurrentElementInElementList(element, newHeadElements)) {\n document.head.removeChild(element);\n }\n }\n\n for (const element of newHeadElements) {\n document.head.appendChild(element);\n }\n }\n\n isCurrentElementInElementList(element, elementList) {\n for (const [index, newElement] of elementList.entries()) {\n // if title element...\n if (element.tagName == \"TITLE\") {\n if (newElement.tagName != \"TITLE\") {\n continue\n }\n if (element.innerHTML == newElement.innerHTML) {\n elementList.splice(index, 1);\n return true\n }\n }\n\n // if any other element...\n if (newElement.isEqualNode(element)) {\n elementList.splice(index, 1);\n return true\n }\n }\n\n return false\n }\n\n removeCurrentHeadProvisionalElements() {\n for (const element of this.currentHeadProvisionalElements) {\n document.head.removeChild(element);\n }\n }\n\n copyNewHeadProvisionalElements() {\n for (const element of this.newHeadProvisionalElements) {\n document.head.appendChild(element);\n }\n }\n\n activateNewBody() {\n document.adoptNode(this.newElement);\n this.activateNewBodyScriptElements();\n }\n\n activateNewBodyScriptElements() {\n for (const inertScriptElement of this.newBodyScriptElements) {\n const activatedScriptElement = activateScriptElement(inertScriptElement);\n inertScriptElement.replaceWith(activatedScriptElement);\n }\n }\n\n async assignNewBody() {\n await this.renderElement(this.currentElement, this.newElement);\n }\n\n get unusedDynamicStylesheetElements() {\n return this.oldHeadStylesheetElements.filter((element) => {\n return element.getAttribute(\"data-turbo-track\") === \"dynamic\"\n })\n }\n\n get oldHeadStylesheetElements() {\n return this.currentHeadSnapshot.getStylesheetElementsNotInSnapshot(this.newHeadSnapshot)\n }\n\n get newHeadStylesheetElements() {\n return this.newHeadSnapshot.getStylesheetElementsNotInSnapshot(this.currentHeadSnapshot)\n }\n\n get newHeadScriptElements() {\n return this.newHeadSnapshot.getScriptElementsNotInSnapshot(this.currentHeadSnapshot)\n }\n\n get currentHeadProvisionalElements() {\n return this.currentHeadSnapshot.provisionalElements\n }\n\n get newHeadProvisionalElements() {\n return this.newHeadSnapshot.provisionalElements\n }\n\n get newBodyScriptElements() {\n return this.newElement.querySelectorAll(\"script\")\n }\n}\n\nclass MorphingPageRenderer extends PageRenderer {\n static renderElement(currentElement, newElement) {\n morphElements(currentElement, newElement, {\n callbacks: {\n beforeNodeMorphed: element => !canRefreshFrame(element)\n }\n });\n\n for (const frame of currentElement.querySelectorAll(\"turbo-frame\")) {\n if (canRefreshFrame(frame)) frame.reload();\n }\n\n dispatch(\"turbo:morph\", { detail: { currentElement, newElement } });\n }\n\n async preservingPermanentElements(callback) {\n return await callback()\n }\n\n get renderMethod() {\n return \"morph\"\n }\n\n get shouldAutofocus() {\n return false\n }\n}\n\nfunction canRefreshFrame(frame) {\n return frame instanceof FrameElement &&\n frame.src &&\n frame.refresh === \"morph\" &&\n !frame.closest(\"[data-turbo-permanent]\")\n}\n\nclass SnapshotCache {\n keys = []\n snapshots = {}\n\n constructor(size) {\n this.size = size;\n }\n\n has(location) {\n return toCacheKey(location) in this.snapshots\n }\n\n get(location) {\n if (this.has(location)) {\n const snapshot = this.read(location);\n this.touch(location);\n return snapshot\n }\n }\n\n put(location, snapshot) {\n this.write(location, snapshot);\n this.touch(location);\n return snapshot\n }\n\n clear() {\n this.snapshots = {};\n }\n\n // Private\n\n read(location) {\n return this.snapshots[toCacheKey(location)]\n }\n\n write(location, snapshot) {\n this.snapshots[toCacheKey(location)] = snapshot;\n }\n\n touch(location) {\n const key = toCacheKey(location);\n const index = this.keys.indexOf(key);\n if (index > -1) this.keys.splice(index, 1);\n this.keys.unshift(key);\n this.trim();\n }\n\n trim() {\n for (const key of this.keys.splice(this.size)) {\n delete this.snapshots[key];\n }\n }\n}\n\nclass PageView extends View {\n snapshotCache = new SnapshotCache(10)\n lastRenderedLocation = new URL(location.href)\n forceReloaded = false\n\n shouldTransitionTo(newSnapshot) {\n return this.snapshot.prefersViewTransitions && newSnapshot.prefersViewTransitions\n }\n\n renderPage(snapshot, isPreview = false, willRender = true, visit) {\n const shouldMorphPage = this.isPageRefresh(visit) && this.snapshot.shouldMorphPage;\n const rendererClass = shouldMorphPage ? MorphingPageRenderer : PageRenderer;\n\n const renderer = new rendererClass(this.snapshot, snapshot, isPreview, willRender);\n\n if (!renderer.shouldRender) {\n this.forceReloaded = true;\n } else {\n visit?.changeHistory();\n }\n\n return this.render(renderer)\n }\n\n renderError(snapshot, visit) {\n visit?.changeHistory();\n const renderer = new ErrorRenderer(this.snapshot, snapshot, false);\n return this.render(renderer)\n }\n\n clearSnapshotCache() {\n this.snapshotCache.clear();\n }\n\n async cacheSnapshot(snapshot = this.snapshot) {\n if (snapshot.isCacheable) {\n this.delegate.viewWillCacheSnapshot();\n const { lastRenderedLocation: location } = this;\n await nextEventLoopTick();\n const cachedSnapshot = snapshot.clone();\n this.snapshotCache.put(location, cachedSnapshot);\n return cachedSnapshot\n }\n }\n\n getCachedSnapshotForLocation(location) {\n return this.snapshotCache.get(location)\n }\n\n isPageRefresh(visit) {\n return !visit || (this.lastRenderedLocation.pathname === visit.location.pathname && visit.action === \"replace\")\n }\n\n shouldPreserveScrollPosition(visit) {\n return this.isPageRefresh(visit) && this.snapshot.shouldPreserveScrollPosition\n }\n\n get snapshot() {\n return PageSnapshot.fromElement(this.element)\n }\n}\n\nclass Preloader {\n selector = \"a[data-turbo-preload]\"\n\n constructor(delegate, snapshotCache) {\n this.delegate = delegate;\n this.snapshotCache = snapshotCache;\n }\n\n start() {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", this.#preloadAll);\n } else {\n this.preloadOnLoadLinksForView(document.body);\n }\n }\n\n stop() {\n document.removeEventListener(\"DOMContentLoaded\", this.#preloadAll);\n }\n\n preloadOnLoadLinksForView(element) {\n for (const link of element.querySelectorAll(this.selector)) {\n if (this.delegate.shouldPreloadLink(link)) {\n this.preloadURL(link);\n }\n }\n }\n\n async preloadURL(link) {\n const location = new URL(link.href);\n\n if (this.snapshotCache.has(location)) {\n return\n }\n\n const fetchRequest = new FetchRequest(this, FetchMethod.get, location, new URLSearchParams(), link);\n await fetchRequest.perform();\n }\n\n // Fetch request delegate\n\n prepareRequest(fetchRequest) {\n fetchRequest.headers[\"X-Sec-Purpose\"] = \"prefetch\";\n }\n\n async requestSucceededWithResponse(fetchRequest, fetchResponse) {\n try {\n const responseHTML = await fetchResponse.responseHTML;\n const snapshot = PageSnapshot.fromHTMLString(responseHTML);\n\n this.snapshotCache.put(fetchRequest.url, snapshot);\n } catch (_) {\n // If we cannot preload that is ok!\n }\n }\n\n requestStarted(fetchRequest) {}\n\n requestErrored(fetchRequest) {}\n\n requestFinished(fetchRequest) {}\n\n requestPreventedHandlingResponse(fetchRequest, fetchResponse) {}\n\n requestFailedWithResponse(fetchRequest, fetchResponse) {}\n\n #preloadAll = () => {\n this.preloadOnLoadLinksForView(document.body);\n }\n}\n\nclass Cache {\n constructor(session) {\n this.session = session;\n }\n\n clear() {\n this.session.clearCache();\n }\n\n resetCacheControl() {\n this.#setCacheControl(\"\");\n }\n\n exemptPageFromCache() {\n this.#setCacheControl(\"no-cache\");\n }\n\n exemptPageFromPreview() {\n this.#setCacheControl(\"no-preview\");\n }\n\n #setCacheControl(value) {\n setMetaContent(\"turbo-cache-control\", value);\n }\n}\n\nclass Session {\n navigator = new Navigator(this)\n history = new History(this)\n view = new PageView(this, document.documentElement)\n adapter = new BrowserAdapter(this)\n\n pageObserver = new PageObserver(this)\n cacheObserver = new CacheObserver()\n linkPrefetchObserver = new LinkPrefetchObserver(this, document)\n linkClickObserver = new LinkClickObserver(this, window)\n formSubmitObserver = new FormSubmitObserver(this, document)\n scrollObserver = new ScrollObserver(this)\n streamObserver = new StreamObserver(this)\n formLinkClickObserver = new FormLinkClickObserver(this, document.documentElement)\n frameRedirector = new FrameRedirector(this, document.documentElement)\n streamMessageRenderer = new StreamMessageRenderer()\n cache = new Cache(this)\n\n enabled = true\n started = false\n #pageRefreshDebouncePeriod = 150\n\n constructor(recentRequests) {\n this.recentRequests = recentRequests;\n this.preloader = new Preloader(this, this.view.snapshotCache);\n this.debouncedRefresh = this.refresh;\n this.pageRefreshDebouncePeriod = this.pageRefreshDebouncePeriod;\n }\n\n start() {\n if (!this.started) {\n this.pageObserver.start();\n this.cacheObserver.start();\n this.linkPrefetchObserver.start();\n this.formLinkClickObserver.start();\n this.linkClickObserver.start();\n this.formSubmitObserver.start();\n this.scrollObserver.start();\n this.streamObserver.start();\n this.frameRedirector.start();\n this.history.start();\n this.preloader.start();\n this.started = true;\n this.enabled = true;\n }\n }\n\n disable() {\n this.enabled = false;\n }\n\n stop() {\n if (this.started) {\n this.pageObserver.stop();\n this.cacheObserver.stop();\n this.linkPrefetchObserver.stop();\n this.formLinkClickObserver.stop();\n this.linkClickObserver.stop();\n this.formSubmitObserver.stop();\n this.scrollObserver.stop();\n this.streamObserver.stop();\n this.frameRedirector.stop();\n this.history.stop();\n this.preloader.stop();\n this.started = false;\n }\n }\n\n registerAdapter(adapter) {\n this.adapter = adapter;\n }\n\n visit(location, options = {}) {\n const frameElement = options.frame ? document.getElementById(options.frame) : null;\n\n if (frameElement instanceof FrameElement) {\n const action = options.action || getVisitAction(frameElement);\n\n frameElement.delegate.proposeVisitIfNavigatedWithAction(frameElement, action);\n frameElement.src = location.toString();\n } else {\n this.navigator.proposeVisit(expandURL(location), options);\n }\n }\n\n refresh(url, requestId) {\n const isRecentRequest = requestId && this.recentRequests.has(requestId);\n if (!isRecentRequest && !this.navigator.currentVisit) {\n this.visit(url, { action: \"replace\", shouldCacheSnapshot: false });\n }\n }\n\n connectStreamSource(source) {\n this.streamObserver.connectStreamSource(source);\n }\n\n disconnectStreamSource(source) {\n this.streamObserver.disconnectStreamSource(source);\n }\n\n renderStreamMessage(message) {\n this.streamMessageRenderer.render(StreamMessage.wrap(message));\n }\n\n clearCache() {\n this.view.clearSnapshotCache();\n }\n\n setProgressBarDelay(delay) {\n console.warn(\n \"Please replace `session.setProgressBarDelay(delay)` with `session.progressBarDelay = delay`. The function is deprecated and will be removed in a future version of Turbo.`\"\n );\n\n this.progressBarDelay = delay;\n }\n\n set progressBarDelay(delay) {\n config.drive.progressBarDelay = delay;\n }\n\n get progressBarDelay() {\n return config.drive.progressBarDelay\n }\n\n set drive(value) {\n config.drive.enabled = value;\n }\n\n get drive() {\n return config.drive.enabled\n }\n\n set formMode(value) {\n config.forms.mode = value;\n }\n\n get formMode() {\n return config.forms.mode\n }\n\n get location() {\n return this.history.location\n }\n\n get restorationIdentifier() {\n return this.history.restorationIdentifier\n }\n\n get pageRefreshDebouncePeriod() {\n return this.#pageRefreshDebouncePeriod\n }\n\n set pageRefreshDebouncePeriod(value) {\n this.refresh = debounce(this.debouncedRefresh.bind(this), value);\n this.#pageRefreshDebouncePeriod = value;\n }\n\n // Preloader delegate\n\n shouldPreloadLink(element) {\n const isUnsafe = element.hasAttribute(\"data-turbo-method\");\n const isStream = element.hasAttribute(\"data-turbo-stream\");\n const frameTarget = element.getAttribute(\"data-turbo-frame\");\n const frame = frameTarget == \"_top\" ?\n null :\n document.getElementById(frameTarget) || findClosestRecursively(element, \"turbo-frame:not([disabled])\");\n\n if (isUnsafe || isStream || frame instanceof FrameElement) {\n return false\n } else {\n const location = new URL(element.href);\n\n return this.elementIsNavigatable(element) && locationIsVisitable(location, this.snapshot.rootLocation)\n }\n }\n\n // History delegate\n\n historyPoppedToLocationWithRestorationIdentifierAndDirection(location, restorationIdentifier, direction) {\n if (this.enabled) {\n this.navigator.startVisit(location, restorationIdentifier, {\n action: \"restore\",\n historyChanged: true,\n direction\n });\n } else {\n this.adapter.pageInvalidated({\n reason: \"turbo_disabled\"\n });\n }\n }\n\n // Scroll observer delegate\n\n scrollPositionChanged(position) {\n this.history.updateRestorationData({ scrollPosition: position });\n }\n\n // Form click observer delegate\n\n willSubmitFormLinkToLocation(link, location) {\n return this.elementIsNavigatable(link) && locationIsVisitable(location, this.snapshot.rootLocation)\n }\n\n submittedFormLinkToLocation() {}\n\n // Link hover observer delegate\n\n canPrefetchRequestToLocation(link, location) {\n return (\n this.elementIsNavigatable(link) &&\n locationIsVisitable(location, this.snapshot.rootLocation)\n )\n }\n\n // Link click observer delegate\n\n willFollowLinkToLocation(link, location, event) {\n return (\n this.elementIsNavigatable(link) &&\n locationIsVisitable(location, this.snapshot.rootLocation) &&\n this.applicationAllowsFollowingLinkToLocation(link, location, event)\n )\n }\n\n followedLinkToLocation(link, location) {\n const action = this.getActionForLink(link);\n const acceptsStreamResponse = link.hasAttribute(\"data-turbo-stream\");\n\n this.visit(location.href, { action, acceptsStreamResponse });\n }\n\n // Navigator delegate\n\n allowsVisitingLocationWithAction(location, action) {\n return this.locationWithActionIsSamePage(location, action) || this.applicationAllowsVisitingLocation(location)\n }\n\n visitProposedToLocation(location, options) {\n extendURLWithDeprecatedProperties(location);\n this.adapter.visitProposedToLocation(location, options);\n }\n\n // Visit delegate\n\n visitStarted(visit) {\n if (!visit.acceptsStreamResponse) {\n markAsBusy(document.documentElement);\n this.view.markVisitDirection(visit.direction);\n }\n extendURLWithDeprecatedProperties(visit.location);\n if (!visit.silent) {\n this.notifyApplicationAfterVisitingLocation(visit.location, visit.action);\n }\n }\n\n visitCompleted(visit) {\n this.view.unmarkVisitDirection();\n clearBusyState(document.documentElement);\n this.notifyApplicationAfterPageLoad(visit.getTimingMetrics());\n }\n\n locationWithActionIsSamePage(location, action) {\n return this.navigator.locationWithActionIsSamePage(location, action)\n }\n\n visitScrolledToSamePageLocation(oldURL, newURL) {\n this.notifyApplicationAfterVisitingSamePageLocation(oldURL, newURL);\n }\n\n // Form submit observer delegate\n\n willSubmitForm(form, submitter) {\n const action = getAction$1(form, submitter);\n\n return (\n this.submissionIsNavigatable(form, submitter) &&\n locationIsVisitable(expandURL(action), this.snapshot.rootLocation)\n )\n }\n\n formSubmitted(form, submitter) {\n this.navigator.submitForm(form, submitter);\n }\n\n // Page observer delegate\n\n pageBecameInteractive() {\n this.view.lastRenderedLocation = this.location;\n this.notifyApplicationAfterPageLoad();\n }\n\n pageLoaded() {\n this.history.assumeControlOfScrollRestoration();\n }\n\n pageWillUnload() {\n this.history.relinquishControlOfScrollRestoration();\n }\n\n // Stream observer delegate\n\n receivedMessageFromStream(message) {\n this.renderStreamMessage(message);\n }\n\n // Page view delegate\n\n viewWillCacheSnapshot() {\n if (!this.navigator.currentVisit?.silent) {\n this.notifyApplicationBeforeCachingSnapshot();\n }\n }\n\n allowsImmediateRender({ element }, options) {\n const event = this.notifyApplicationBeforeRender(element, options);\n const {\n defaultPrevented,\n detail: { render }\n } = event;\n\n if (this.view.renderer && render) {\n this.view.renderer.renderElement = render;\n }\n\n return !defaultPrevented\n }\n\n viewRenderedSnapshot(_snapshot, _isPreview, renderMethod) {\n this.view.lastRenderedLocation = this.history.location;\n this.notifyApplicationAfterRender(renderMethod);\n }\n\n preloadOnLoadLinksForView(element) {\n this.preloader.preloadOnLoadLinksForView(element);\n }\n\n viewInvalidated(reason) {\n this.adapter.pageInvalidated(reason);\n }\n\n // Frame element\n\n frameLoaded(frame) {\n this.notifyApplicationAfterFrameLoad(frame);\n }\n\n frameRendered(fetchResponse, frame) {\n this.notifyApplicationAfterFrameRender(fetchResponse, frame);\n }\n\n // Application events\n\n applicationAllowsFollowingLinkToLocation(link, location, ev) {\n const event = this.notifyApplicationAfterClickingLinkToLocation(link, location, ev);\n return !event.defaultPrevented\n }\n\n applicationAllowsVisitingLocation(location) {\n const event = this.notifyApplicationBeforeVisitingLocation(location);\n return !event.defaultPrevented\n }\n\n notifyApplicationAfterClickingLinkToLocation(link, location, event) {\n return dispatch(\"turbo:click\", {\n target: link,\n detail: { url: location.href, originalEvent: event },\n cancelable: true\n })\n }\n\n notifyApplicationBeforeVisitingLocation(location) {\n return dispatch(\"turbo:before-visit\", {\n detail: { url: location.href },\n cancelable: true\n })\n }\n\n notifyApplicationAfterVisitingLocation(location, action) {\n return dispatch(\"turbo:visit\", { detail: { url: location.href, action } })\n }\n\n notifyApplicationBeforeCachingSnapshot() {\n return dispatch(\"turbo:before-cache\")\n }\n\n notifyApplicationBeforeRender(newBody, options) {\n return dispatch(\"turbo:before-render\", {\n detail: { newBody, ...options },\n cancelable: true\n })\n }\n\n notifyApplicationAfterRender(renderMethod) {\n return dispatch(\"turbo:render\", { detail: { renderMethod } })\n }\n\n notifyApplicationAfterPageLoad(timing = {}) {\n return dispatch(\"turbo:load\", {\n detail: { url: this.location.href, timing }\n })\n }\n\n notifyApplicationAfterVisitingSamePageLocation(oldURL, newURL) {\n dispatchEvent(\n new HashChangeEvent(\"hashchange\", {\n oldURL: oldURL.toString(),\n newURL: newURL.toString()\n })\n );\n }\n\n notifyApplicationAfterFrameLoad(frame) {\n return dispatch(\"turbo:frame-load\", { target: frame })\n }\n\n notifyApplicationAfterFrameRender(fetchResponse, frame) {\n return dispatch(\"turbo:frame-render\", {\n detail: { fetchResponse },\n target: frame,\n cancelable: true\n })\n }\n\n // Helpers\n\n submissionIsNavigatable(form, submitter) {\n if (config.forms.mode == \"off\") {\n return false\n } else {\n const submitterIsNavigatable = submitter ? this.elementIsNavigatable(submitter) : true;\n\n if (config.forms.mode == \"optin\") {\n return submitterIsNavigatable && form.closest('[data-turbo=\"true\"]') != null\n } else {\n return submitterIsNavigatable && this.elementIsNavigatable(form)\n }\n }\n }\n\n elementIsNavigatable(element) {\n const container = findClosestRecursively(element, \"[data-turbo]\");\n const withinFrame = findClosestRecursively(element, \"turbo-frame\");\n\n // Check if Drive is enabled on the session or we're within a Frame.\n if (config.drive.enabled || withinFrame) {\n // Element is navigatable by default, unless `data-turbo=\"false\"`.\n if (container) {\n return container.getAttribute(\"data-turbo\") != \"false\"\n } else {\n return true\n }\n } else {\n // Element isn't navigatable by default, unless `data-turbo=\"true\"`.\n if (container) {\n return container.getAttribute(\"data-turbo\") == \"true\"\n } else {\n return false\n }\n }\n }\n\n // Private\n\n getActionForLink(link) {\n return getVisitAction(link) || \"advance\"\n }\n\n get snapshot() {\n return this.view.snapshot\n }\n}\n\n// Older versions of the Turbo Native adapters referenced the\n// `Location#absoluteURL` property in their implementations of\n// the `Adapter#visitProposedToLocation()` and `#visitStarted()`\n// methods. The Location class has since been removed in favor\n// of the DOM URL API, and accordingly all Adapter methods now\n// receive URL objects.\n//\n// We alias #absoluteURL to #toString() here to avoid crashing\n// older adapters which do not expect URL objects. We should\n// consider removing this support at some point in the future.\n\nfunction extendURLWithDeprecatedProperties(url) {\n Object.defineProperties(url, deprecatedLocationPropertyDescriptors);\n}\n\nconst deprecatedLocationPropertyDescriptors = {\n absoluteURL: {\n get() {\n return this.toString()\n }\n }\n};\n\nconst session = new Session(recentRequests);\nconst { cache, navigator: navigator$1 } = session;\n\n/**\n * Starts the main session.\n * This initialises any necessary observers such as those to monitor\n * link interactions.\n */\nfunction start() {\n session.start();\n}\n\n/**\n * Registers an adapter for the main session.\n *\n * @param adapter Adapter to register\n */\nfunction registerAdapter(adapter) {\n session.registerAdapter(adapter);\n}\n\n/**\n * Performs an application visit to the given location.\n *\n * @param location Location to visit (a URL or path)\n * @param options Options to apply\n * @param options.action Type of history navigation to apply (\"restore\",\n * \"replace\" or \"advance\")\n * @param options.historyChanged Specifies whether the browser history has\n * already been changed for this visit or not\n * @param options.referrer Specifies the referrer of this visit such that\n * navigations to the same page will not result in a new history entry.\n * @param options.snapshotHTML Cached snapshot to render\n * @param options.response Response of the specified location\n */\nfunction visit(location, options) {\n session.visit(location, options);\n}\n\n/**\n * Connects a stream source to the main session.\n *\n * @param source Stream source to connect\n */\nfunction connectStreamSource(source) {\n session.connectStreamSource(source);\n}\n\n/**\n * Disconnects a stream source from the main session.\n *\n * @param source Stream source to disconnect\n */\nfunction disconnectStreamSource(source) {\n session.disconnectStreamSource(source);\n}\n\n/**\n * Renders a stream message to the main session by appending it to the\n * current document.\n *\n * @param message Message to render\n */\nfunction renderStreamMessage(message) {\n session.renderStreamMessage(message);\n}\n\n/**\n * Removes all entries from the Turbo Drive page cache.\n * Call this when state has changed on the server that may affect cached pages.\n *\n * @deprecated since version 7.2.0 in favor of `Turbo.cache.clear()`\n */\nfunction clearCache() {\n console.warn(\n \"Please replace `Turbo.clearCache()` with `Turbo.cache.clear()`. The top-level function is deprecated and will be removed in a future version of Turbo.`\"\n );\n session.clearCache();\n}\n\n/**\n * Sets the delay after which the progress bar will appear during navigation.\n *\n * The progress bar appears after 500ms by default.\n *\n * Note that this method has no effect when used with the iOS or Android\n * adapters.\n *\n * @param delay Time to delay in milliseconds\n */\nfunction setProgressBarDelay(delay) {\n console.warn(\n \"Please replace `Turbo.setProgressBarDelay(delay)` with `Turbo.config.drive.progressBarDelay = delay`. The top-level function is deprecated and will be removed in a future version of Turbo.`\"\n );\n config.drive.progressBarDelay = delay;\n}\n\nfunction setConfirmMethod(confirmMethod) {\n console.warn(\n \"Please replace `Turbo.setConfirmMethod(confirmMethod)` with `Turbo.config.forms.confirm = confirmMethod`. The top-level function is deprecated and will be removed in a future version of Turbo.`\"\n );\n config.forms.confirm = confirmMethod;\n}\n\nfunction setFormMode(mode) {\n console.warn(\n \"Please replace `Turbo.setFormMode(mode)` with `Turbo.config.forms.mode = mode`. The top-level function is deprecated and will be removed in a future version of Turbo.`\"\n );\n config.forms.mode = mode;\n}\n\nvar Turbo = /*#__PURE__*/Object.freeze({\n __proto__: null,\n navigator: navigator$1,\n session: session,\n cache: cache,\n PageRenderer: PageRenderer,\n PageSnapshot: PageSnapshot,\n FrameRenderer: FrameRenderer,\n fetch: fetchWithTurboHeaders,\n config: config,\n start: start,\n registerAdapter: registerAdapter,\n visit: visit,\n connectStreamSource: connectStreamSource,\n disconnectStreamSource: disconnectStreamSource,\n renderStreamMessage: renderStreamMessage,\n clearCache: clearCache,\n setProgressBarDelay: setProgressBarDelay,\n setConfirmMethod: setConfirmMethod,\n setFormMode: setFormMode\n});\n\nclass TurboFrameMissingError extends Error {}\n\nclass FrameController {\n fetchResponseLoaded = (_fetchResponse) => Promise.resolve()\n #currentFetchRequest = null\n #resolveVisitPromise = () => {}\n #connected = false\n #hasBeenLoaded = false\n #ignoredAttributes = new Set()\n #shouldMorphFrame = false\n action = null\n\n constructor(element) {\n this.element = element;\n this.view = new FrameView(this, this.element);\n this.appearanceObserver = new AppearanceObserver(this, this.element);\n this.formLinkClickObserver = new FormLinkClickObserver(this, this.element);\n this.linkInterceptor = new LinkInterceptor(this, this.element);\n this.restorationIdentifier = uuid();\n this.formSubmitObserver = new FormSubmitObserver(this, this.element);\n }\n\n // Frame delegate\n\n connect() {\n if (!this.#connected) {\n this.#connected = true;\n if (this.loadingStyle == FrameLoadingStyle.lazy) {\n this.appearanceObserver.start();\n } else {\n this.#loadSourceURL();\n }\n this.formLinkClickObserver.start();\n this.linkInterceptor.start();\n this.formSubmitObserver.start();\n }\n }\n\n disconnect() {\n if (this.#connected) {\n this.#connected = false;\n this.appearanceObserver.stop();\n this.formLinkClickObserver.stop();\n this.linkInterceptor.stop();\n this.formSubmitObserver.stop();\n }\n }\n\n disabledChanged() {\n if (this.loadingStyle == FrameLoadingStyle.eager) {\n this.#loadSourceURL();\n }\n }\n\n sourceURLChanged() {\n if (this.#isIgnoringChangesTo(\"src\")) return\n\n if (this.element.isConnected) {\n this.complete = false;\n }\n\n if (this.loadingStyle == FrameLoadingStyle.eager || this.#hasBeenLoaded) {\n this.#loadSourceURL();\n }\n }\n\n sourceURLReloaded() {\n const { refresh, src } = this.element;\n\n this.#shouldMorphFrame = src && refresh === \"morph\";\n\n this.element.removeAttribute(\"complete\");\n this.element.src = null;\n this.element.src = src;\n return this.element.loaded\n }\n\n loadingStyleChanged() {\n if (this.loadingStyle == FrameLoadingStyle.lazy) {\n this.appearanceObserver.start();\n } else {\n this.appearanceObserver.stop();\n this.#loadSourceURL();\n }\n }\n\n async #loadSourceURL() {\n if (this.enabled && this.isActive && !this.complete && this.sourceURL) {\n this.element.loaded = this.#visit(expandURL(this.sourceURL));\n this.appearanceObserver.stop();\n await this.element.loaded;\n this.#hasBeenLoaded = true;\n }\n }\n\n async loadResponse(fetchResponse) {\n if (fetchResponse.redirected || (fetchResponse.succeeded && fetchResponse.isHTML)) {\n this.sourceURL = fetchResponse.response.url;\n }\n\n try {\n const html = await fetchResponse.responseHTML;\n if (html) {\n const document = parseHTMLDocument(html);\n const pageSnapshot = PageSnapshot.fromDocument(document);\n\n if (pageSnapshot.isVisitable) {\n await this.#loadFrameResponse(fetchResponse, document);\n } else {\n await this.#handleUnvisitableFrameResponse(fetchResponse);\n }\n }\n } finally {\n this.#shouldMorphFrame = false;\n this.fetchResponseLoaded = () => Promise.resolve();\n }\n }\n\n // Appearance observer delegate\n\n elementAppearedInViewport(element) {\n this.proposeVisitIfNavigatedWithAction(element, getVisitAction(element));\n this.#loadSourceURL();\n }\n\n // Form link click observer delegate\n\n willSubmitFormLinkToLocation(link) {\n return this.#shouldInterceptNavigation(link)\n }\n\n submittedFormLinkToLocation(link, _location, form) {\n const frame = this.#findFrameElement(link);\n if (frame) form.setAttribute(\"data-turbo-frame\", frame.id);\n }\n\n // Link interceptor delegate\n\n shouldInterceptLinkClick(element, _location, _event) {\n return this.#shouldInterceptNavigation(element)\n }\n\n linkClickIntercepted(element, location) {\n this.#navigateFrame(element, location);\n }\n\n // Form submit observer delegate\n\n willSubmitForm(element, submitter) {\n return element.closest(\"turbo-frame\") == this.element && this.#shouldInterceptNavigation(element, submitter)\n }\n\n formSubmitted(element, submitter) {\n if (this.formSubmission) {\n this.formSubmission.stop();\n }\n\n this.formSubmission = new FormSubmission(this, element, submitter);\n const { fetchRequest } = this.formSubmission;\n this.prepareRequest(fetchRequest);\n this.formSubmission.start();\n }\n\n // Fetch request delegate\n\n prepareRequest(request) {\n request.headers[\"Turbo-Frame\"] = this.id;\n\n if (this.currentNavigationElement?.hasAttribute(\"data-turbo-stream\")) {\n request.acceptResponseType(StreamMessage.contentType);\n }\n }\n\n requestStarted(_request) {\n markAsBusy(this.element);\n }\n\n requestPreventedHandlingResponse(_request, _response) {\n this.#resolveVisitPromise();\n }\n\n async requestSucceededWithResponse(request, response) {\n await this.loadResponse(response);\n this.#resolveVisitPromise();\n }\n\n async requestFailedWithResponse(request, response) {\n await this.loadResponse(response);\n this.#resolveVisitPromise();\n }\n\n requestErrored(request, error) {\n console.error(error);\n this.#resolveVisitPromise();\n }\n\n requestFinished(_request) {\n clearBusyState(this.element);\n }\n\n // Form submission delegate\n\n formSubmissionStarted({ formElement }) {\n markAsBusy(formElement, this.#findFrameElement(formElement));\n }\n\n formSubmissionSucceededWithResponse(formSubmission, response) {\n const frame = this.#findFrameElement(formSubmission.formElement, formSubmission.submitter);\n\n frame.delegate.proposeVisitIfNavigatedWithAction(frame, getVisitAction(formSubmission.submitter, formSubmission.formElement, frame));\n frame.delegate.loadResponse(response);\n\n if (!formSubmission.isSafe) {\n session.clearCache();\n }\n }\n\n formSubmissionFailedWithResponse(formSubmission, fetchResponse) {\n this.element.delegate.loadResponse(fetchResponse);\n session.clearCache();\n }\n\n formSubmissionErrored(formSubmission, error) {\n console.error(error);\n }\n\n formSubmissionFinished({ formElement }) {\n clearBusyState(formElement, this.#findFrameElement(formElement));\n }\n\n // View delegate\n\n allowsImmediateRender({ element: newFrame }, options) {\n const event = dispatch(\"turbo:before-frame-render\", {\n target: this.element,\n detail: { newFrame, ...options },\n cancelable: true\n });\n\n const {\n defaultPrevented,\n detail: { render }\n } = event;\n\n if (this.view.renderer && render) {\n this.view.renderer.renderElement = render;\n }\n\n return !defaultPrevented\n }\n\n viewRenderedSnapshot(_snapshot, _isPreview, _renderMethod) {}\n\n preloadOnLoadLinksForView(element) {\n session.preloadOnLoadLinksForView(element);\n }\n\n viewInvalidated() {}\n\n // Frame renderer delegate\n\n willRenderFrame(currentElement, _newElement) {\n this.previousFrameElement = currentElement.cloneNode(true);\n }\n\n visitCachedSnapshot = ({ element }) => {\n const frame = element.querySelector(\"#\" + this.element.id);\n\n if (frame && this.previousFrameElement) {\n frame.replaceChildren(...this.previousFrameElement.children);\n }\n\n delete this.previousFrameElement;\n }\n\n // Private\n\n async #loadFrameResponse(fetchResponse, document) {\n const newFrameElement = await this.extractForeignFrameElement(document.body);\n const rendererClass = this.#shouldMorphFrame ? MorphingFrameRenderer : FrameRenderer;\n\n if (newFrameElement) {\n const snapshot = new Snapshot(newFrameElement);\n const renderer = new rendererClass(this, this.view.snapshot, snapshot, false, false);\n if (this.view.renderPromise) await this.view.renderPromise;\n this.changeHistory();\n\n await this.view.render(renderer);\n this.complete = true;\n session.frameRendered(fetchResponse, this.element);\n session.frameLoaded(this.element);\n await this.fetchResponseLoaded(fetchResponse);\n } else if (this.#willHandleFrameMissingFromResponse(fetchResponse)) {\n this.#handleFrameMissingFromResponse(fetchResponse);\n }\n }\n\n async #visit(url) {\n const request = new FetchRequest(this, FetchMethod.get, url, new URLSearchParams(), this.element);\n\n this.#currentFetchRequest?.cancel();\n this.#currentFetchRequest = request;\n\n return new Promise((resolve) => {\n this.#resolveVisitPromise = () => {\n this.#resolveVisitPromise = () => {};\n this.#currentFetchRequest = null;\n resolve();\n };\n request.perform();\n })\n }\n\n #navigateFrame(element, url, submitter) {\n const frame = this.#findFrameElement(element, submitter);\n\n frame.delegate.proposeVisitIfNavigatedWithAction(frame, getVisitAction(submitter, element, frame));\n\n this.#withCurrentNavigationElement(element, () => {\n frame.src = url;\n });\n }\n\n proposeVisitIfNavigatedWithAction(frame, action = null) {\n this.action = action;\n\n if (this.action) {\n const pageSnapshot = PageSnapshot.fromElement(frame).clone();\n const { visitCachedSnapshot } = frame.delegate;\n\n frame.delegate.fetchResponseLoaded = async (fetchResponse) => {\n if (frame.src) {\n const { statusCode, redirected } = fetchResponse;\n const responseHTML = await fetchResponse.responseHTML;\n const response = { statusCode, redirected, responseHTML };\n const options = {\n response,\n visitCachedSnapshot,\n willRender: false,\n updateHistory: false,\n restorationIdentifier: this.restorationIdentifier,\n snapshot: pageSnapshot\n };\n\n if (this.action) options.action = this.action;\n\n session.visit(frame.src, options);\n }\n };\n }\n }\n\n changeHistory() {\n if (this.action) {\n const method = getHistoryMethodForAction(this.action);\n session.history.update(method, expandURL(this.element.src || \"\"), this.restorationIdentifier);\n }\n }\n\n async #handleUnvisitableFrameResponse(fetchResponse) {\n console.warn(\n `The response (${fetchResponse.statusCode}) from <turbo-frame id=\"${this.element.id}\"> is performing a full page visit due to turbo-visit-control.`\n );\n\n await this.#visitResponse(fetchResponse.response);\n }\n\n #willHandleFrameMissingFromResponse(fetchResponse) {\n this.element.setAttribute(\"complete\", \"\");\n\n const response = fetchResponse.response;\n const visit = async (url, options) => {\n if (url instanceof Response) {\n this.#visitResponse(url);\n } else {\n session.visit(url, options);\n }\n };\n\n const event = dispatch(\"turbo:frame-missing\", {\n target: this.element,\n detail: { response, visit },\n cancelable: true\n });\n\n return !event.defaultPrevented\n }\n\n #handleFrameMissingFromResponse(fetchResponse) {\n this.view.missing();\n this.#throwFrameMissingError(fetchResponse);\n }\n\n #throwFrameMissingError(fetchResponse) {\n const message = `The response (${fetchResponse.statusCode}) did not contain the expected <turbo-frame id=\"${this.element.id}\"> and will be ignored. To perform a full page visit instead, set turbo-visit-control to reload.`;\n throw new TurboFrameMissingError(message)\n }\n\n async #visitResponse(response) {\n const wrapped = new FetchResponse(response);\n const responseHTML = await wrapped.responseHTML;\n const { location, redirected, statusCode } = wrapped;\n\n return session.visit(location, { response: { redirected, statusCode, responseHTML } })\n }\n\n #findFrameElement(element, submitter) {\n const id = getAttribute(\"data-turbo-frame\", submitter, element) || this.element.getAttribute(\"target\");\n return getFrameElementById(id) ?? this.element\n }\n\n async extractForeignFrameElement(container) {\n let element;\n const id = CSS.escape(this.id);\n\n try {\n element = activateElement(container.querySelector(`turbo-frame#${id}`), this.sourceURL);\n if (element) {\n return element\n }\n\n element = activateElement(container.querySelector(`turbo-frame[src][recurse~=${id}]`), this.sourceURL);\n if (element) {\n await element.loaded;\n return await this.extractForeignFrameElement(element)\n }\n } catch (error) {\n console.error(error);\n return new FrameElement()\n }\n\n return null\n }\n\n #formActionIsVisitable(form, submitter) {\n const action = getAction$1(form, submitter);\n\n return locationIsVisitable(expandURL(action), this.rootLocation)\n }\n\n #shouldInterceptNavigation(element, submitter) {\n const id = getAttribute(\"data-turbo-frame\", submitter, element) || this.element.getAttribute(\"target\");\n\n if (element instanceof HTMLFormElement && !this.#formActionIsVisitable(element, submitter)) {\n return false\n }\n\n if (!this.enabled || id == \"_top\") {\n return false\n }\n\n if (id) {\n const frameElement = getFrameElementById(id);\n if (frameElement) {\n return !frameElement.disabled\n }\n }\n\n if (!session.elementIsNavigatable(element)) {\n return false\n }\n\n if (submitter && !session.elementIsNavigatable(submitter)) {\n return false\n }\n\n return true\n }\n\n // Computed properties\n\n get id() {\n return this.element.id\n }\n\n get enabled() {\n return !this.element.disabled\n }\n\n get sourceURL() {\n if (this.element.src) {\n return this.element.src\n }\n }\n\n set sourceURL(sourceURL) {\n this.#ignoringChangesToAttribute(\"src\", () => {\n this.element.src = sourceURL ?? null;\n });\n }\n\n get loadingStyle() {\n return this.element.loading\n }\n\n get isLoading() {\n return this.formSubmission !== undefined || this.#resolveVisitPromise() !== undefined\n }\n\n get complete() {\n return this.element.hasAttribute(\"complete\")\n }\n\n set complete(value) {\n if (value) {\n this.element.setAttribute(\"complete\", \"\");\n } else {\n this.element.removeAttribute(\"complete\");\n }\n }\n\n get isActive() {\n return this.element.isActive && this.#connected\n }\n\n get rootLocation() {\n const meta = this.element.ownerDocument.querySelector(`meta[name=\"turbo-root\"]`);\n const root = meta?.content ?? \"/\";\n return expandURL(root)\n }\n\n #isIgnoringChangesTo(attributeName) {\n return this.#ignoredAttributes.has(attributeName)\n }\n\n #ignoringChangesToAttribute(attributeName, callback) {\n this.#ignoredAttributes.add(attributeName);\n callback();\n this.#ignoredAttributes.delete(attributeName);\n }\n\n #withCurrentNavigationElement(element, callback) {\n this.currentNavigationElement = element;\n callback();\n delete this.currentNavigationElement;\n }\n}\n\nfunction getFrameElementById(id) {\n if (id != null) {\n const element = document.getElementById(id);\n if (element instanceof FrameElement) {\n return element\n }\n }\n}\n\nfunction activateElement(element, currentURL) {\n if (element) {\n const src = element.getAttribute(\"src\");\n if (src != null && currentURL != null && urlsAreEqual(src, currentURL)) {\n throw new Error(`Matching <turbo-frame id=\"${element.id}\"> element has a source URL which references itself`)\n }\n if (element.ownerDocument !== document) {\n element = document.importNode(element, true);\n }\n\n if (element instanceof FrameElement) {\n element.connectedCallback();\n element.disconnectedCallback();\n return element\n }\n }\n}\n\nconst StreamActions = {\n after() {\n this.targetElements.forEach((e) => e.parentElement?.insertBefore(this.templateContent, e.nextSibling));\n },\n\n append() {\n this.removeDuplicateTargetChildren();\n this.targetElements.forEach((e) => e.append(this.templateContent));\n },\n\n before() {\n this.targetElements.forEach((e) => e.parentElement?.insertBefore(this.templateContent, e));\n },\n\n prepend() {\n this.removeDuplicateTargetChildren();\n this.targetElements.forEach((e) => e.prepend(this.templateContent));\n },\n\n remove() {\n this.targetElements.forEach((e) => e.remove());\n },\n\n replace() {\n const method = this.getAttribute(\"method\");\n\n this.targetElements.forEach((targetElement) => {\n if (method === \"morph\") {\n morphElements(targetElement, this.templateContent);\n } else {\n targetElement.replaceWith(this.templateContent);\n }\n });\n },\n\n update() {\n const method = this.getAttribute(\"method\");\n\n this.targetElements.forEach((targetElement) => {\n if (method === \"morph\") {\n morphChildren(targetElement, this.templateContent);\n } else {\n targetElement.innerHTML = \"\";\n targetElement.append(this.templateContent);\n }\n });\n },\n\n refresh() {\n session.refresh(this.baseURI, this.requestId);\n }\n};\n\n// <turbo-stream action=replace target=id><template>...\n\n/**\n * Renders updates to the page from a stream of messages.\n *\n * Using the `action` attribute, this can be configured one of eight ways:\n *\n * - `after` - inserts the result after the target\n * - `append` - appends the result to the target\n * - `before` - inserts the result before the target\n * - `prepend` - prepends the result to the target\n * - `refresh` - initiates a page refresh\n * - `remove` - removes the target\n * - `replace` - replaces the outer HTML of the target\n * - `update` - replaces the inner HTML of the target\n *\n * @customElement turbo-stream\n * @example\n * <turbo-stream action=\"append\" target=\"dom_id\">\n * <template>\n * Content to append to target designated with the dom_id.\n * </template>\n * </turbo-stream>\n */\nclass StreamElement extends HTMLElement {\n static async renderElement(newElement) {\n await newElement.performAction();\n }\n\n async connectedCallback() {\n try {\n await this.render();\n } catch (error) {\n console.error(error);\n } finally {\n this.disconnect();\n }\n }\n\n async render() {\n return (this.renderPromise ??= (async () => {\n const event = this.beforeRenderEvent;\n\n if (this.dispatchEvent(event)) {\n await nextRepaint();\n await event.detail.render(this);\n }\n })())\n }\n\n disconnect() {\n try {\n this.remove();\n // eslint-disable-next-line no-empty\n } catch {}\n }\n\n /**\n * Removes duplicate children (by ID)\n */\n removeDuplicateTargetChildren() {\n this.duplicateChildren.forEach((c) => c.remove());\n }\n\n /**\n * Gets the list of duplicate children (i.e. those with the same ID)\n */\n get duplicateChildren() {\n const existingChildren = this.targetElements.flatMap((e) => [...e.children]).filter((c) => !!c.id);\n const newChildrenIds = [...(this.templateContent?.children || [])].filter((c) => !!c.id).map((c) => c.id);\n\n return existingChildren.filter((c) => newChildrenIds.includes(c.id))\n }\n\n /**\n * Gets the action function to be performed.\n */\n get performAction() {\n if (this.action) {\n const actionFunction = StreamActions[this.action];\n if (actionFunction) {\n return actionFunction\n }\n this.#raise(\"unknown action\");\n }\n this.#raise(\"action attribute is missing\");\n }\n\n /**\n * Gets the target elements which the template will be rendered to.\n */\n get targetElements() {\n if (this.target) {\n return this.targetElementsById\n } else if (this.targets) {\n return this.targetElementsByQuery\n } else {\n this.#raise(\"target or targets attribute is missing\");\n }\n }\n\n /**\n * Gets the contents of the main `<template>`.\n */\n get templateContent() {\n return this.templateElement.content.cloneNode(true)\n }\n\n /**\n * Gets the main `<template>` used for rendering\n */\n get templateElement() {\n if (this.firstElementChild === null) {\n const template = this.ownerDocument.createElement(\"template\");\n this.appendChild(template);\n return template\n } else if (this.firstElementChild instanceof HTMLTemplateElement) {\n return this.firstElementChild\n }\n this.#raise(\"first child element must be a <template> element\");\n }\n\n /**\n * Gets the current action.\n */\n get action() {\n return this.getAttribute(\"action\")\n }\n\n /**\n * Gets the current target (an element ID) to which the result will\n * be rendered.\n */\n get target() {\n return this.getAttribute(\"target\")\n }\n\n /**\n * Gets the current \"targets\" selector (a CSS selector)\n */\n get targets() {\n return this.getAttribute(\"targets\")\n }\n\n /**\n * Reads the request-id attribute\n */\n get requestId() {\n return this.getAttribute(\"request-id\")\n }\n\n #raise(message) {\n throw new Error(`${this.description}: ${message}`)\n }\n\n get description() {\n return (this.outerHTML.match(/<[^>]+>/) ?? [])[0] ?? \"<turbo-stream>\"\n }\n\n get beforeRenderEvent() {\n return new CustomEvent(\"turbo:before-stream-render\", {\n bubbles: true,\n cancelable: true,\n detail: { newStream: this, render: StreamElement.renderElement }\n })\n }\n\n get targetElementsById() {\n const element = this.ownerDocument?.getElementById(this.target);\n\n if (element !== null) {\n return [element]\n } else {\n return []\n }\n }\n\n get targetElementsByQuery() {\n const elements = this.ownerDocument?.querySelectorAll(this.targets);\n\n if (elements.length !== 0) {\n return Array.prototype.slice.call(elements)\n } else {\n return []\n }\n }\n}\n\nclass StreamSourceElement extends HTMLElement {\n streamSource = null\n\n connectedCallback() {\n this.streamSource = this.src.match(/^ws{1,2}:/) ? new WebSocket(this.src) : new EventSource(this.src);\n\n connectStreamSource(this.streamSource);\n }\n\n disconnectedCallback() {\n if (this.streamSource) {\n this.streamSource.close();\n\n disconnectStreamSource(this.streamSource);\n }\n }\n\n get src() {\n return this.getAttribute(\"src\") || \"\"\n }\n}\n\nFrameElement.delegateConstructor = FrameController;\n\nif (customElements.get(\"turbo-frame\") === undefined) {\n customElements.define(\"turbo-frame\", FrameElement);\n}\n\nif (customElements.get(\"turbo-stream\") === undefined) {\n customElements.define(\"turbo-stream\", StreamElement);\n}\n\nif (customElements.get(\"turbo-stream-source\") === undefined) {\n customElements.define(\"turbo-stream-source\", StreamSourceElement);\n}\n\n(() => {\n let element = document.currentScript;\n if (!element) return\n if (element.hasAttribute(\"data-turbo-suppress-warning\")) return\n\n element = element.parentElement;\n while (element) {\n if (element == document.body) {\n return console.warn(\n unindent`\n You are loading Turbo from a <script> element inside the <body> element. This is probably not what you meant to do!\n\n Load your application’s JavaScript bundle inside the <head> element instead. <script> elements in <body> are evaluated with each page change.\n\n For more information, see: https://turbo.hotwired.dev/handbook/building#working-with-script-elements\n\n ——\n Suppress this warning by adding a \"data-turbo-suppress-warning\" attribute to: %s\n `,\n element.outerHTML\n )\n }\n\n element = element.parentElement;\n }\n})();\n\nwindow.Turbo = { ...Turbo, StreamActions };\nstart();\n\nexport { FetchEnctype, FetchMethod, FetchRequest, FetchResponse, FrameElement, FrameLoadingStyle, FrameRenderer, PageRenderer, PageSnapshot, StreamActions, StreamElement, StreamSourceElement, cache, clearCache, config, connectStreamSource, disconnectStreamSource, fetchWithTurboHeaders as fetch, fetchEnctypeFromString, fetchMethodFromString, isSafe, navigator$1 as navigator, registerAdapter, renderStreamMessage, session, setConfirmMethod, setFormMode, setProgressBarDelay, start, visit };\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<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport * as Turbo from \"@hotwired/turbo\";\nimport React from \"react\";\n\nexport default class extends Controller {\n static targets = [\"container\"];\n\n constructor(props) {\n super(props);\n this.draggedPostElement = null;\n this.futureDateTime = null;\n this.futureContainerDiv = null;\n this.startDivContainer = null;\n }\n\n connect() {\n // Lorsque handleDialogEvents est appelée en tant que gestionnaire d'événements, this ne fait plus référence à l'instance du contrôleur Stimulus.\n // On corrige avec bind(this) pour qu'elles soient toujours appelée sur l'instance du contrôleur\n this.boundHandleDialogEvents = this.handleDialogEvents.bind(this);\n window.addEventListener(\"dialog:opened\", this.boundHandleDialogEvents);\n window.addEventListener(\"dialog:closed\", this.boundHandleDialogEvents);\n this.bindSubmitButton();\n }\n\n disconnect() {\n window.removeEventListener(\"dialog:opened\", this.boundHandleDialogEvents);\n window.removeEventListener(\"dialog:closed\", this.boundHandleDialogEvents);\n this.unbindSubmitButton();\n }\n\n handleDialogEvents(event) {\n if (event.detail.closed) {\n // On enlève draggedPostElement de la futureDiv\n this.draggedPostElement.remove();\n // On remet draggedPostElement dans l'ancienne div\n this.startDivContainer.appendChild(this.draggedPostElement);\n\n // On annule toute possibilité de draggable\n this.draggedPostElement.draggable = false;\n\n // On rafraichi la page\n Turbo.visit(window.location.href);\n }\n }\n\n bindSubmitButton() {\n const submitBtn = this.getSubmitButton();\n if (!submitBtn) return;\n\n this.boundShowSpinner = this.submitAction.bind(this);\n submitBtn.addEventListener(\"click\", this.boundShowSpinner);\n }\n\n unbindSubmitButton() {\n const submitBtn = this.getSubmitButton();\n if (!submitBtn) return;\n\n submitBtn.removeEventListener(\"click\", this.boundShowSpinner);\n }\n\n submitAction(event) {\n const submitBtn = this.getSubmitButton();\n submitBtn.querySelector(\"span\")?.remove();\n const spinner = event.currentTarget.querySelector(\"svg\");\n if (spinner) spinner.classList.remove(\"hidden\");\n }\n\n getSubmitButton() {\n return document.querySelector(\n \"#form_post_scheduled_at button[type='submit']\"\n );\n }\n\n dragStart(event) {\n this.draggedPostElement = event.currentTarget;\n this.startDivContainer = event.currentTarget.parentElement;\n }\n\n dragOver(event) {\n event.preventDefault();\n const element = event.currentTarget;\n\n // On formate la date future\n const futureDateElement = element.querySelector(\"a\");\n const futureDateTime = futureDateElement?.dataset?.datetime;\n\n // On instancie la future date\n if (futureDateTime) {\n this.futureDateTime = new Date(futureDateTime);\n } else {\n console.error(\"La date n'est pas accessible\");\n }\n\n // On retire toutes les card-over\n this.removeCardExcept(element);\n this.futureContainerDiv = element;\n\n // On arrête là si le post est déjà dans le 'futureContainerDiv'\n const currentPostIsAlreadyInFutureDiv = Array.from(\n element.querySelectorAll(\"a\")\n ).includes(this.draggedPostElement);\n if (currentPostIsAlreadyInFutureDiv) {\n this.removeAllOverCards(document);\n return;\n }\n\n // On ajoute une carte over seulement si y'en a pas\n const elementHasOverCard = element.querySelector(\".card-over\");\n if (!elementHasOverCard) {\n this.addDragOverCard(element);\n }\n }\n\n dragLeave(event) {\n event.preventDefault();\n const element = event.currentTarget;\n\n const currentPostIsAlreadyInFutureDiv = Array.from(\n this.futureContainerDiv.querySelectorAll(\"a\")\n ).includes(this.draggedPostElement);\n if (currentPostIsAlreadyInFutureDiv) {\n return;\n }\n\n if (element.nodeName === \"A\" && this.futureDateTime) {\n // On prend la route du lien pour la future requête UPDATE\n const updatePath = event.currentTarget.href;\n if (updatePath) {\n const postOnChannels = JSON.parse(event.currentTarget.dataset.pocs);\n // On reconstruit le body de la requête\n const body = {\n post: {\n post_on_channels_attributes: postOnChannels.map((poc) => ({\n id: poc.id,\n forced_scheduled_at: this.futureDateTime,\n status: poc.status,\n })),\n scheduled_at: this.futureDateTime,\n },\n };\n\n this.updatePost(updatePath, body);\n\n // On déplace le DOM\n this.addCard(element);\n }\n }\n }\n\n updatePost(route, data = {}) {\n // On enlève toutes les cartes over\n this.removeAllOverCards(document);\n\n // On regarde si tous les pocs ont un status \"scheduled\" sinon on coupe tout\n const allPocsAreScheduled = data?.post?.post_on_channels_attributes?.every(\n (poc) => poc.status === \"scheduled\"\n );\n\n if (allPocsAreScheduled) {\n // On déclenche l'event pour que la bonne modal s'ouvre\n window.dispatchEvent(\n new CustomEvent(\"open-dialog\", {\n detail: {\n id: \"edit_post_scheduled_at\",\n },\n })\n );\n }\n // On construit le formulaire de la modal\n const dialogBody = document.querySelector(\"#form-post-scheduled-at-update\");\n\n // On enlève tous les précédents enfants du formulaire\n Array.from(dialogBody.children).forEach((child) => child.remove());\n\n // On construit le form\n this.buildFormEditPostHTML(\n dialogBody,\n route,\n this.futureDateTime,\n data.post.post_on_channels_attributes,\n data.post.scheduled_at\n );\n }\n\n removeCardExcept(element) {\n Array.from(this.containerTargets).forEach((container) => {\n if (container !== element) {\n container.classList.remove(\"relative\");\n this.removeAllOverCards(container);\n }\n });\n }\n\n removeAllOverCards(divContainer) {\n const overCards = divContainer.querySelectorAll(\".card-over\");\n Array.from(overCards).forEach((card) => {\n card.remove();\n });\n }\n\n addDragOverCard(element) {\n element.classList.add(\"relative\");\n const overCard = document.createElement(\"div\");\n overCard.classList.add(\n \"w-full\",\n \"h-[48px]\",\n \"border-2\",\n \"border-dashed\",\n \"shadow-sm\",\n \"card-over\"\n );\n element.appendChild(overCard);\n }\n\n addCard(card) {\n // On supprime tous les enfants de la div parente\n Array.from(this.futureContainerDiv.children).forEach((child) => {\n if (child.querySelector(\"a\")?.dataset?.visible || child?.dataset?.visible)\n return;\n child.remove();\n });\n\n // On reconstruit la div avec la carte du post déplacée\n const fullCel = document.createElement(\"div\");\n fullCel.classList.add(\"p-1\", \"space-y-1\", \"h-fit\", \"flex\", \"flex-col\");\n fullCel.appendChild(card);\n\n // On affiche la carte du post dans la future div\n this.futureContainerDiv.appendChild(fullCel);\n }\n\n buildFormEditPostHTML(div, route, datetime, pocs, scheduled_at) {\n const days = [\n \"dimanche\",\n \"lundi\",\n \"mardi\",\n \"mercredi\",\n \"jeudi\",\n \"vendredi\",\n \"samedi\",\n ];\n const date = new Date(datetime);\n\n const form = document.getElementById(\"form_post_scheduled_at\");\n form.action = route;\n\n // Message de confirmation\n const messageEl = form.querySelector(\"span\");\n messageEl.innerText = `En validant, le post sera programmé le ${\n days[date.getDay()]\n } ${date.toLocaleDateString(\"fr-FR\")} à ${date.toLocaleTimeString(\n \"fr-FR\"\n )}`;\n\n // Input : Post.scheduled_at\n const input = document.createElement(\"input\");\n input.name = \"post[scheduled_at]\";\n input.value = scheduled_at;\n input.classList.add(\"hidden\");\n div.appendChild(input);\n\n // Inputs : POCS\n pocs.forEach((poc, index) => {\n const inputDate = document.createElement(\"input\");\n inputDate.name = `post[post_on_channels_attributes][${index}][forced_scheduled_at]`;\n inputDate.value = poc.forced_scheduled_at;\n inputDate.classList.add(\"hidden\");\n const inputId = document.createElement(\"input\");\n inputId.name = `post[post_on_channels_attributes][${index}][id]`;\n inputId.value = poc.id;\n inputId.classList.add(\"hidden\");\n div.appendChild(inputId);\n div.appendChild(inputDate);\n });\n }\n}\n","/*!\n * @kurkle/color v0.3.4\n * https://github.com/kurkle/color#readme\n * (c) 2024 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names$1 = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/*!\n * Chart.js v4.4.7\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { Color } from '@kurkle/color';\n\n/**\n * @namespace Chart.helpers\n */ /**\n * An empty function that can be used, for example, for optional callback.\n */ function noop() {\n/* noop */ }\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */ const uid = (()=>{\n let id = 0;\n return ()=>id++;\n})();\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isNullOrUndef(value) {\n return value === null || value === undefined;\n}\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */ function isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */ function isNumberFinite(value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */ function finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */ function valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension;\nconst toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */ function callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for(i = len - 1; i >= 0; i--){\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */ function _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for(i = 0, ilen = a0.length; i < ilen; ++i){\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */ function clone(source) {\n if (isArray(source)) {\n return source.map(clone);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for(; k < klen; ++k){\n target[keys[k]] = clone(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return [\n '__proto__',\n 'prototype',\n 'constructor'\n ].indexOf(key) === -1;\n}\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */ function _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [\n source\n ];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n let current;\n for(let i = 0; i < ilen; ++i){\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n const keys = Object.keys(current);\n for(let k = 0, klen = keys.length; k < klen; ++k){\n merger(keys[k], target, current, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {\n merger: _mergerIf\n });\n}\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */ function _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n/**\n * @private\n */ function _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': (v)=>v,\n // default resolvers\n x: (o)=>o.x,\n y: (o)=>o.y\n};\n/**\n * @private\n */ function _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts){\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return (obj)=>{\n for (const k of keys){\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n/**\n * @private\n */ function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value)=>typeof value !== 'undefined';\nconst isFunction = (value)=>typeof value === 'function';\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nconst setsEqual = (a, b)=>{\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a){\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @param e - The event\n * @private\n */ function _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */ const PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */ function niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */ function _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for(i = 1; i < sqrt; i++){\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b)=>a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n/**\n * @private\n */ function _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for(i = 0, ilen = array.length; i < ilen; i++){\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */ function _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while(Math.round(x * e) / e !== x){\n e *= 10;\n p++;\n }\n return p;\n}\n// Gets the angle from vertical upright to the point about a centre.\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < -0.5 * PI) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */ function _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */ function _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\n/**\n * @private\n */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */ function _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * @param {number} value\n * @private\n */ function _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */ function _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index)=>table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while(hi - lo > 1){\n mid = lo + hi >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {\n lo,\n hi\n };\n}\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n } : (index)=>table[index][key] < value);\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value);\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */ function _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while(start < end && values[start] < min){\n start++;\n }\n while(end > start && values[end - 1] > max){\n end--;\n }\n return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\nconst arrayEvents = [\n 'push',\n 'pop',\n 'shift',\n 'splice',\n 'unshift'\n];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [\n listener\n ]\n }\n });\n arrayEvents.forEach((key)=>{\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value (...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object)=>{\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key)=>{\n delete array[key];\n });\n delete array._chartjs;\n}\n/**\n * @param items\n */ function _arrayUnique(items) {\n const set = new Set(items);\n if (set.size === items.length) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n/**\n* Request animation polyfill\n*/ const requestAnimFrame = function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}();\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */ function throttled(fn, thisArg) {\n let argsToUse = [];\n let ticking = false;\n return function(...args) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, ()=>{\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n/**\n * Debounces calling `fn` for `delay` ms\n */ function debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */ const _textX = (align, left, right, rtl)=>{\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n/**\n * Return start and count of visible points.\n * @private\n */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const { iScale , _parsed } = meta;\n const axis = iScale.axis;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {\n start,\n count\n };\n}\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */ function _scaleRangesChanged(meta) {\n const { xScale , yScale , _scaleRanges } = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t)=>t === 0 || t === 1;\nconst elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */ const effects = {\n linear: (t)=>t,\n easeInQuad: (t)=>t * t,\n easeOutQuad: (t)=>-t * (t - 2),\n easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1),\n easeInCubic: (t)=>t * t * t,\n easeOutCubic: (t)=>(t -= 1) * t * t + 1,\n easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: (t)=>t * t * t * t,\n easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1),\n easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: (t)=>t * t * t * t * t,\n easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1,\n easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1,\n easeOutSine: (t)=>Math.sin(t * HALF_PI),\n easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic (t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack (t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack (t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack (t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t),\n easeOutBounce (t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < 1 / d) {\n return m * t * t;\n }\n if (t < 2 / d) {\n return m * (t -= 1.5 / d) * t + 0.75;\n }\n if (t < 2.5 / d) {\n return m * (t -= 2.25 / d) * t + 0.9375;\n }\n return m * (t -= 2.625 / d) * t + 0.984375;\n },\n easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5\n};\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst numbers = [\n 'x',\n 'y',\n 'borderWidth',\n 'radius',\n 'tension'\n];\nconst colors = [\n 'color',\n 'borderColor',\n 'backgroundColor'\n];\nfunction applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined\n });\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn'\n });\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n }\n });\n defaults.describe('animations', {\n _fallback: 'animation'\n });\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n }\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: (v)=>v | 0\n }\n }\n }\n });\n}\n\nfunction applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst formatters = {\n values (value) {\n return isArray(value) ? value : '' + value;\n },\n numeric (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {\n notation,\n minimumFractionDigits: numDecimal,\n maximumFractionDigits: numDecimal\n };\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue)));\n if ([\n 1,\n 2,\n 3,\n 5,\n 10,\n 15\n ].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n var Ticks = {\n formatters\n};\n\nfunction applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n clip: true,\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options)=>options.lineWidth,\n tickColor: (_ctx, options)=>options.color,\n offset: false\n },\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2\n }\n });\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash'\n });\n defaults.describe('scales', {\n _fallback: 'scale'\n });\n defaults.describe('scale.ticks', {\n _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name)=>name !== 'backdropPadding'\n });\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\n function getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for(let i = 0, n = keys.length; i < n; ++i){\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\n class Defaults {\n constructor(_descriptors, _appliers){\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options)=>getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get () {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set (value) {\n this[privateName] = value;\n }\n }\n });\n }\n apply(appliers) {\n appliers.forEach((apply)=>apply(this));\n }\n}\nvar defaults = /* #__PURE__ */ new Defaults({\n _scriptable: (name)=>!name.startsWith('on'),\n _indexable: (name)=>name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false\n }\n}, [\n applyAnimationsDefaults,\n applyLayoutsDefaults,\n applyScaleDefaults\n]);\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */ function toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n/**\n * @private\n */ function _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n/**\n * @private\n */ // eslint-disable-next-line complexity\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for(i = 0; i < ilen; i++){\n thing = arrayOfThings[i];\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && !isArray(thing)) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for(j = 0, jlen = thing.length; j < jlen; j++){\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for(i = 0; i < gcLen; i++){\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */ function _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n/**\n * Clears the entire canvas.\n */ function clearCanvas(canvas, ctx) {\n if (!ctx && !canvas) {\n return;\n }\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n drawPointLegend(ctx, options, x, y, null);\n}\n// eslint-disable-next-line complexity\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch(style){\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */ case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */ case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */ function _isPointInArea(point, area, margin) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\n/**\n * @private\n */ function _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n/**\n * @private\n */ function _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */ const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction drawBackdrop(ctx, opts) {\n const oldColor = ctx.fillStyle;\n ctx.fillStyle = opts.color;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n/**\n * Render text onto the canvas\n */ function renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [\n text\n ];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for(i = 0; i < lines.length; ++i){\n line = lines[i];\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += Number(font.lineHeight);\n }\n ctx.restore();\n}\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */ function addRoundedRectPath(ctx, rect) {\n const { x , y , w , h , radius } = rect;\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n/**\n * @alias Chart.helpers.options\n * @namespace\n */ /**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */ function toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch(matches[3]){\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = (v)=>+v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value;\n for (const prop of keys){\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */ function toTRBL(value) {\n return _readValueToProps(value, {\n top: 'y',\n right: 'x',\n bottom: 'y',\n left: 'x'\n });\n}\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */ function toTRBLCorners(value) {\n return _readValueToProps(value, [\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight'\n ]);\n}\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */ function toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */ function toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */ function resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for(i = 0, ilen = inputs.length; i < ilen; ++i){\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */ function _addGrace(minmax, grace, beginAtZero) {\n const { min , max } = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */ function _createResolver(scopes, prefixes = [\n ''\n], rootScopes, fallback, getTarget = ()=>scopes[0]) {\n const finalRootScopes = rootScopes || scopes;\n if (typeof fallback === 'undefined') {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: finalRootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope)=>_createResolver([\n scope,\n ...scopes\n ], prefixes, finalRootScopes, fallback)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop) {\n return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys (target) {\n return getKeysFromAllScopes(target);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n });\n}\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */ function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop, receiver) {\n return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n enumerable: true,\n configurable: true\n } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(proxy);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return Reflect.has(proxy, prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys () {\n return Reflect.ownKeys(proxy);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n });\n}\n/**\n * @private\n */ function _descriptors(proxy, defaults = {\n scriptable: true,\n indexable: true\n}) {\n const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable\n };\n}\nconst readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {\n return target[prop];\n }\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n let value = _proxy[prop]; // resolve from proxy\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, getValue, target, receiver) {\n const { _proxy , _context , _subProxy , _stack } = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n let value = getValue(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n return value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter((s)=>s !== arr);\n value = [];\n for (const item of arr){\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes){\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [\n ...parentScopes,\n ...rootScopes\n ];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (typeof fallback !== 'undefined' && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [\n ''\n ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while(key){\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes){\n value = _resolve(readKey(prefix, prop), scopes);\n if (typeof value !== 'undefined') {\n return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes){\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (typeof value !== 'undefined') {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes){\n for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const { iScale } = meta;\n const { key ='r' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i)=>i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n // This function must also respect \"skipped\" points\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n/**\n * Adjust tangents to ensure monotonic properties\n */ function monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen - 1; ++i){\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */ function splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for(i = 0, ilen = points.length; i < ilen; ++i){\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n/**\n * @private\n */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt)=>!pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for(i = 0, ilen = points.length; i < ilen; ++i){\n point = points[i];\n controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `dom` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } dom.Chart\n * @typedef { import('../../types').ChartEvent } ChartEvent\n */ /**\n * @private\n */ function _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * @private\n */ function _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */ function parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = [\n 'top',\n 'right',\n 'bottom',\n 'left'\n];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for(let i = 0; i < 4; i++){\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot);\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */ function getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const { offsetX , offsetY } = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {\n x,\n y,\n box\n };\n}\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */ function getRelativePosition(event, chart) {\n if ('native' in event) {\n return event;\n }\n const { canvas , currentDevicePixelRatio } = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const { x , y , box } = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let { width , height } = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = (v)=>Math.round(v * 10) / 10;\n// eslint-disable-next-line complexity\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let { width , height } = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n return {\n width,\n height\n };\n}\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */ function retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = Math.floor(chart.height);\n chart.width = Math.floor(chart.width);\n const canvas = chart.canvas;\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */ const supportsEventListenerOptions = function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive () {\n passiveSupported = true;\n return false;\n }\n };\n if (_isDomSupported()) {\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n }\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}();\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */ function readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\n/**\n * @private\n */ function _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n/**\n * @private\n */ function _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n };\n}\n/**\n * @private\n */ function _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {\n x: p1.cp2x,\n y: p1.cp2y\n };\n const cp2 = {\n x: p2.cp1x,\n y: p2.cp1y\n };\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x (x) {\n return rectX + rectX + width - x;\n },\n setWidth (w) {\n width = w;\n },\n textAlign (align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus (x, value) {\n return x - value;\n },\n leftForLtr (x, itemWidth) {\n return x - itemWidth;\n }\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x (x) {\n return x;\n },\n setWidth (w) {},\n textAlign (align) {\n return align;\n },\n xPlus (x, value) {\n return x + value;\n },\n leftForLtr (x, _itemWidth) {\n return x;\n }\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction')\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle\n };\n }\n return {\n between: _isBetween,\n compare: (a, b)=>a - b,\n normalize: (x)=>x\n };\n}\nfunction normalizeSegment({ start , end , count , loop , style }) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const { property , start: startBound , end: endBound } = bounds;\n const { between , normalize } = propertyFn(property);\n const count = points.length;\n let { start , end , loop } = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for(i = 0, ilen = count; i < ilen; ++i){\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {\n start,\n end,\n loop,\n style: segment.style\n };\n}\n function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [\n segment\n ];\n }\n const { property , start: startBound , end: endBound } = bounds;\n const count = points.length;\n const { compare , between , normalize } = propertyFn(property);\n const { start , end , loop , style } = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = ()=>inside || startIsBefore();\n const shouldStop = ()=>!inside || endIsBefore();\n for(let i = start, prev = start; i <= end; ++i){\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({\n start: subStart,\n end: i,\n loop,\n count,\n style\n }));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({\n start: subStart,\n end,\n loop,\n count,\n style\n }));\n }\n return result;\n}\n function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for(let i = 0; i < segments.length; i++){\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n function findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while(start < count && !points[start].skip){\n start++;\n }\n }\n while(start < count && points[start].skip){\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while(end > start && points[end % count].skip){\n end--;\n }\n end %= count;\n return {\n start,\n end\n };\n}\n function solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for(end = start + 1; end <= max; ++end){\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({\n start: start % count,\n end: (end - 1) % count,\n loop\n });\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({\n start: start % count,\n end: last % count,\n loop\n });\n }\n return result;\n}\n function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const { start , end } = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [\n {\n start,\n end,\n loop\n }\n ], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n function splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n function doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const { _datasetIndex: datasetIndex , options: { spanGaps } } = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while(points[s % count].skip){\n s -= dir;\n }\n while(points[e % count].skip){\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({\n start: s % count,\n end: e % count,\n loop: l,\n style: st\n });\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments){\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for(i = start + 1; i <= segment.end; i++){\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n if (!prevStyle) {\n return false;\n }\n const cache = [];\n const replacer = function(key, value) {\n if (!isPatternOrGradient(value)) {\n return value;\n }\n if (!cache.includes(value)) {\n cache.push(value);\n }\n return cache.indexOf(value);\n };\n return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n\nexport { unclipArea as $, _rlookupByKey as A, _lookupByKey as B, _isPointInArea as C, getAngleFromPoint as D, toPadding as E, each as F, getMaximumSize as G, HALF_PI as H, _getParentNode as I, readUsedSize as J, supportsEventListenerOptions as K, throttled as L, _isDomSupported as M, _factorize as N, finiteOrDefault as O, PI as P, callback as Q, _addGrace as R, _limitValue as S, TAU as T, toDegrees as U, _measureText as V, _int16Range as W, _alignPixel as X, clipArea as Y, renderText as Z, _arrayUnique as _, resolve as a, fontString as a$, toFont as a0, _toLeftRightCenter as a1, _alignStartEnd as a2, overrides as a3, merge as a4, _capitalize as a5, descriptors as a6, isFunction as a7, _attachContext as a8, _createResolver as a9, overrideTextDirection as aA, _textX as aB, restoreTextDirection as aC, drawPointLegend as aD, distanceBetweenPoints as aE, noop as aF, _setMinAndMaxByKey as aG, niceNum as aH, almostWhole as aI, almostEquals as aJ, _decimalPlaces as aK, Ticks as aL, log10 as aM, _longestText as aN, _filterBetween as aO, _lookup as aP, isPatternOrGradient as aQ, getHoverColor as aR, clone as aS, _merger as aT, _mergerIf as aU, _deprecated as aV, _splitKey as aW, toFontString as aX, splineCurve as aY, splineCurveMonotone as aZ, getStyle as a_, _descriptors as aa, mergeIf as ab, uid as ac, debounce as ad, retinaScale as ae, clearCanvas as af, setsEqual as ag, _elementsEqual as ah, _isClickEvent as ai, _isBetween as aj, _readValueToProps as ak, _updateBezierControlPoints as al, _computeSegments as am, _boundSegments as an, _steppedInterpolation as ao, _bezierInterpolation as ap, _pointInLine as aq, _steppedLineTo as ar, _bezierCurveTo as as, drawPoint as at, addRoundedRectPath as au, toTRBL as av, toTRBLCorners as aw, _boundSegment as ax, _normalizeAngle as ay, getRtlAdapter as az, isArray as b, toLineHeight as b0, PITAU as b1, INFINITY as b2, RAD_PER_DEG as b3, QUARTER_PI as b4, TWO_THIRDS_PI as b5, _angleDiff as b6, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, defined as h, isObject as i, createContext as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, getRelativePosition as z };\n//# sourceMappingURL=helpers.segment.js.map\n","/*!\n * Chart.js v4.4.7\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, i as isObject, d as defaults, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as defined, s as sign, j as createContext, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as getRelativePosition, A as _rlookupByKey, B as _lookupByKey, C as _isPointInArea, D as getAngleFromPoint, E as toPadding, F as each, G as getMaximumSize, I as _getParentNode, J as readUsedSize, K as supportsEventListenerOptions, L as throttled, M as _isDomSupported, N as _factorize, O as finiteOrDefault, Q as callback, R as _addGrace, S as _limitValue, U as toDegrees, V as _measureText, W as _int16Range, X as _alignPixel, Y as clipArea, Z as renderText, $ as unclipArea, a0 as toFont, a1 as _toLeftRightCenter, a2 as _alignStartEnd, a3 as overrides, a4 as merge, a5 as _capitalize, a6 as descriptors, a7 as isFunction, a8 as _attachContext, a9 as _createResolver, aa as _descriptors, ab as mergeIf, ac as uid, ad as debounce, ae as retinaScale, af as clearCanvas, ag as setsEqual, ah as _elementsEqual, ai as _isClickEvent, aj as _isBetween, ak as _readValueToProps, al as _updateBezierControlPoints, am as _computeSegments, an as _boundSegments, ao as _steppedInterpolation, ap as _bezierInterpolation, aq as _pointInLine, ar as _steppedLineTo, as as _bezierCurveTo, at as drawPoint, au as addRoundedRectPath, av as toTRBL, aw as toTRBLCorners, ax as _boundSegment, ay as _normalizeAngle, az as getRtlAdapter, aA as overrideTextDirection, aB as _textX, aC as restoreTextDirection, aD as drawPointLegend, aE as distanceBetweenPoints, aF as noop, aG as _setMinAndMaxByKey, aH as niceNum, aI as almostWhole, aJ as almostEquals, aK as _decimalPlaces, aL as Ticks, aM as log10, aN as _longestText, aO as _filterBetween, aP as _lookup } from './chunks/helpers.segment.js';\nimport '@kurkle/color';\n\nclass Animator {\n constructor(){\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach((fn)=>fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, ()=>{\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart)=>{\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for(; i >= 0; --i){\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for(; i >= 0; --i){\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = /* #__PURE__ */ new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean (from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color (from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to;\n },\n number (from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to){\n const currentValue = target[prop];\n to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n const from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n this._from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || elapsed < duration);\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = elapsed / duration % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej)=>{\n promises.push({\n res,\n rej\n });\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for(let i = 0; i < promises.length; i++){\n promises[i][method]();\n }\n }\n}\n\nclass Animations {\n constructor(chart, config){\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach((key)=>{\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions){\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [\n key\n ]).forEach((prop)=>{\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(()=>{\n target.options = newOptions;\n }, ()=>{\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for(i = props.length - 1; i >= 0; --i){\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for(let i = 0; i < keys.length; i++){\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {\n $shared: false,\n $animations: {}\n });\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n let found = false;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n found = true;\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) {\n value += otherValue;\n }\n }\n if (!found && !options.all) {\n return 0;\n }\n return value;\n}\nfunction convertObjectDataToArray(data, meta) {\n const { iScale , vScale } = meta;\n const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';\n const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n key = keys[i];\n adata[i] = {\n [iAxisKey]: key,\n [vAxisKey]: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || stacked === undefined && meta.stack !== undefined;\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const { min , max , minDefined , maxDefined } = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){\n const value = stack[meta.index];\n if (positive && value > 0 || !positive && value < 0) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const { chart , _cachedMeta: meta } = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const { iScale , vScale , index: datasetIndex } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for(let i = 0; i < ilen; ++i){\n const item = parsed[i];\n const { [iAxis]: index , [vAxis]: value } = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent, {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n });\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items){\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\nconst isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && {\n keys: getSortedDatasetIndices(chart, true),\n values: null\n };\nclass DatasetController {\n static defaults = {};\n static datasetElementType = null;\n static dataElementType = null;\n constructor(chart, datasetIndex){\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale ? meta.vScale : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n const meta = this._cachedMeta;\n this._data = convertObjectDataToArray(data, meta);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n meta._stacked = isStacked(meta.vScale, meta);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const { _cachedMeta: meta , _data: data } = this;\n const { iScale , _stacked } = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis];\n for(i = 0; i < count; ++i){\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {\n mode\n });\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n const { min: otherMin , max: otherMax } = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for(i = 0; i < ilen; ++i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for(i = ilen - 1; i >= 0; --i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for(i = 0, ilen = parsed.length; i < ilen; ++i){\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || elements.length - start;\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for(i = start; i < start + count; ++i){\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for(i = 0; i < active.length; ++i){\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context || (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [\n `${elementType}Hover`,\n 'hover',\n elementType,\n ''\n ] : [\n elementType,\n ''\n ];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = ()=>this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions;\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {\n sharedOptions,\n includeOptions\n };\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: !active && this.getSharedOptions(options) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList){\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr)=>{\n arr.length += count;\n for(i = arr.length - 1; i >= end; i--){\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for(i = start; i < end; ++i){\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([\n this.index,\n ...args\n ]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync([\n '_insertElements',\n this.getDataset().data.length - count,\n count\n ]);\n }\n _onDataPop() {\n this._sync([\n '_removeElements',\n this._cachedMeta.data.length - 1,\n 1\n ]);\n }\n _onDataShift() {\n this._sync([\n '_removeElements',\n 0,\n 1\n ]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync([\n '_removeElements',\n start,\n count\n ]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync([\n '_insertElements',\n start,\n newCount\n ]);\n }\n }\n _onDataUnshift() {\n this._sync([\n '_insertElements',\n 0,\n arguments.length\n ]);\n }\n}\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b));\n }\n return scale._cache.$bar;\n}\n function computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = ()=>{\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for(i = 0, ilen = values.length; i < ilen; ++i){\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\n function computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - size / 2\n };\n}\n function computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for(i = start, ilen = start + count; i < ilen; ++i){\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {\n start,\n end,\n reverse,\n top,\n bottom\n };\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {\n top: true,\n right: true,\n bottom: true,\n left: true\n };\n return;\n }\n const { start , end , reverse , top , bottom } = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, { inflateAmount }, ratio) {\n properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount;\n}\nclass BarController extends DatasetController {\n static id = 'bar';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true\n }\n }\n };\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for(i = start, ilen = start + count; i < ilen; ++i){\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const { iScale , vScale } = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const { index , _cachedMeta: { vScale } } = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n for(let i = start; i < start + count; i++){\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {\n base,\n head: base\n } : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom,\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const { iScale } = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);\n const iScaleValue = currentParsed && currentParsed[iScale.axis];\n const skipNull = (meta)=>{\n const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets){\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = name !== undefined ? stacks.indexOf(name) : -1;\n return index === -1 ? stacks.length - 1 : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for(i = 0, ilen = meta.data.length; i < ilen; ++i){\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n if (_stacked && !floating) {\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount) : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + range.chunk * stackIndex + range.chunk / 2;\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for(; i < ilen; ++i){\n if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\n\nclass BubbleController extends DatasetController {\n static id = 'bubble';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'borderWidth',\n 'radius'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {\n $shared: false\n });\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {\n ratioX,\n ratioY,\n offsetX,\n offsetY\n };\n}\nclass DoughnutController extends DatasetController {\n static id = 'doughnut';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'circumference',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'x',\n 'y',\n 'offset',\n 'borderWidth',\n 'spacing'\n ]\n }\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r'\n };\n static descriptors = {\n _scriptable: (name)=>name !== 'spacing',\n _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash')\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i)=>+data[i];\n if (isObject(data[start])) {\n const { key ='value' } = this._parsing;\n getter = (i)=>+resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for(i = start, ilen = start + count; i < ilen; ++i){\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for(let i = 0; i < this.chart.data.datasets.length; ++i){\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min\n };\n }\n update(mode) {\n const chart = this.chart;\n const { chartArea } = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const { circumference , rotation } = this._getRotationExtents();\n const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for(i = 0; i < start; ++i){\n startAngle += this._circumference(i, reset);\n }\n for(i = start; i < start + count; ++i){\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for(i = 0; i < metaData.length; i++){\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for(i = 0, ilen = arcs.length; i < ilen; ++i){\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for(let i = 0, ilen = arcs.length; i < ilen; ++i){\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for(let i = 0; i < datasetIndex; ++i){\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n\nclass LineController extends DatasetController {\n static id = 'line';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category'\n },\n _value_: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { dataset: line , data: points = [] , _dataset } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = 0; i < pointsCount; ++i){\n const point = points[i];\n const properties = directUpdate ? point : {};\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n\nclass PolarAreaController extends DatasetController {\n static id = 'polarArea';\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ]\n }\n },\n indexAxis: 'r',\n startAngle: 0\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n meta.data.forEach((element, index)=>{\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - radiusLength * this.index;\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for(i = 0; i < start; ++i){\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for(i = start; i < start + count; i++){\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index)=>{\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0;\n }\n}\n\nclass PieController extends DoughnutController {\n static id = 'pie';\n static defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n };\n}\n\nclass RadarController extends DatasetController {\n static id = 'radar';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n }\n };\n static overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear'\n }\n }\n };\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n\nclass ScatterController extends DatasetController {\n static id = 'scatter';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n static overrides = {\n interaction: {\n mode: 'point'\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { data: points = [] } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n if (!this.datasetElementType) {\n this.addElements();\n }\n const { dataset: line , _dataset } = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n } else if (this.datasetElementType) {\n delete meta.dataset;\n this.datasetElementType = false;\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const { showLine } = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = start; i < start + count; ++i){\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPieController: PieController,\nPolarAreaController: PolarAreaController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\n/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */ function abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */ class DateAdapterBase {\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */ static override(members) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n options;\n constructor(options){\n this.options = options || {};\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n formats() {\n return abstract();\n }\n parse() {\n return abstract();\n }\n format() {\n return abstract();\n }\n add() {\n return abstract();\n }\n diff() {\n return abstract();\n }\n startOf() {\n return abstract();\n }\n endOf() {\n return abstract();\n }\n}\nvar adapters = {\n _date: DateAdapterBase\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const { controller , data , _sorted } = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {\n lo: start.lo,\n hi: end.hi\n };\n }\n }\n }\n return {\n lo: 0,\n hi: data.length - 1\n };\n}\n function evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for(let i = 0, ilen = metasets.length; i < ilen; ++i){\n const { index , data } = metasets[i];\n const { lo , hi } = binarySearch(metasets[i], axis, value, intersect);\n for(let j = lo; j <= hi; ++j){\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n function getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n function getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const { startAngle , endAngle } = element.getProps([\n 'startAngle',\n 'endAngle'\n ], useFinalPosition);\n const { angle } = getAngleFromPoint(element, {\n x: position.x,\n y: position.y\n });\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [\n {\n element,\n datasetIndex,\n index\n }\n ];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n function getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{\n if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n var Interaction = {\n evaluateInteractionItems,\n modes: {\n index (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta)=>{\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({\n element,\n datasetIndex: meta.index,\n index\n });\n }\n });\n return elements;\n },\n dataset (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for(let i = 0; i < data.length; ++i){\n items.push({\n element: data[i],\n datasetIndex,\n index: i\n });\n }\n }\n return items;\n },\n point (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = [\n 'left',\n 'top',\n 'right',\n 'bottom'\n];\nfunction filterByPosition(array, position) {\n return array.filter((v)=>v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b)=>{\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){\n box = boxes[i];\n ({ position: pos , options: { stack , stackWeight =1 } } = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && pos + stack,\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts){\n const { stack , pos , stackWeight } = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {\n count: 0,\n placed: 0,\n weight: 0,\n size: 0\n });\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n function setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const { vBoxMaxWidth , hBoxMaxHeight } = params;\n let i, ilen, layout;\n for(i = 0, ilen = layouts.length; i < ilen; ++i){\n layout = layouts[i];\n const { fullSize } = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const { pos , box } = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {\n size: 0,\n count: 1\n };\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal ? {\n same: widthChanged,\n other: heightChanged\n } : {\n same: heightChanged,\n other: widthChanged\n };\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n positions.forEach((pos)=>{\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal ? marginForPositions([\n 'left',\n 'right'\n ]) : marginForPositions([\n 'top',\n 'bottom'\n ]);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){\n layout = boxes[i];\n box = layout.box;\n box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n const { same , other } = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let { x , y } = chartArea;\n for (const layout of boxes){\n const box = layout.box;\n const stack = stacks[layout.stack] || {\n count: 1,\n placed: 0,\n weight: 1\n };\n const weight = layout.stackWeight / stack.weight || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\nvar layouts = {\n addBox (chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [\n {\n z: 0,\n draw (chartArea) {\n item.draw(chartArea);\n }\n }\n ];\n };\n chart.boxes.push(item);\n },\n removeBox (chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure (chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update (chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, (box)=>{\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w\n };\n each(boxes.chartArea, (layout)=>{\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n });\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\n const EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = (value)=>value === null || value === '';\n function initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {\n passive: true\n} : false;\nfunction addListener(node, type, listener) {\n if (node) {\n node.addEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction removeListener(chart, type, listener) {\n if (chart && chart.canvas) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const { x , y } = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList){\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart)=>{\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height)=>{\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver((entries)=>{\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event)=>{\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n addListener(canvas, type, proxy);\n return proxy;\n}\n class DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n [\n 'height',\n 'width'\n ].forEach((prop)=>{\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key)=>{\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = canvas && _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n static defaults = {};\n static defaultRoutes = undefined;\n x;\n y;\n active = false;\n options;\n $animations;\n tooltipPosition(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this;\n }\n const ret = {};\n props.forEach((prop)=>{\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n function calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for(let i = 0, ilen = factors.length - 1; i < ilen; i++){\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n function getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n function skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for(i = 0; i < ticks.length; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n function skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while(next < 0){\n count++;\n next = Math.round(start + count * spacing);\n }\n for(i = Math.max(start, 0); i < end; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n function getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for(diff = arr[0], i = 1; i < len; ++i){\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength);\n function sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for(; i < len; i += increment){\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n function getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n function garbageCollect(caches, length) {\n each(caches, (cache)=>{\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for(i = 0; i < gcLen; ++i){\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n function getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n function getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return lines * font.lineHeight + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if (reverse && position !== 'right' || !reverse && position === 'right') {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const { top , left , bottom , right , chart } = scale;\n const { chartArea , scales } = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n}\nclass Scale extends Element {\n constructor(cfg){\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {\n min,\n max\n };\n }\n const metas = this.getMatchingVisibleMetas();\n for(let i = 0, ilen = metas.length; i < ilen; ++i){\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [\n this\n ]);\n }\n update(maxWidth, maxHeight, margins) {\n const { beginAtZero , grace , ticks: tickOpts } = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [\n this\n ]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [\n this\n ]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [\n this\n ]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [\n this\n ]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [\n this\n ]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [\n tick.value,\n i,\n ticks\n ], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [\n this\n ]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [\n this\n ]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [\n this\n ]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [\n this\n ]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const { first , last , widest , highest } = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const { ticks: { align , padding } , position } = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [\n this\n ]);\n }\n isHorizontal() {\n const { axis , position } = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const { ctx , _longestTextCache: caches } = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for(i = 0; i < length; i += increment){\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {\n data: {},\n gc: []\n };\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for(j = 0, jlen = label.length; j < jlen; ++j){\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx)=>({\n width: widths[idx] || 0,\n height: heights[idx] || 0\n });\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const { min , max } = this;\n return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const { grid , position , border } = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for(i = 0; i < ticksLength; i += step){\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const { position , ticks: optionTicks } = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const { align , crossAlign , padding , mirror } = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = (chartArea.left + chartArea.right) / 2 - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += lineHeight / 2 * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n switch(textBaseline){\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch(textAlign){\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n case 'inner':\n if (i === ilen - 1) {\n left -= width;\n } else if (i > 0) {\n left -= width / 2;\n }\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor\n };\n }\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [\n x,\n y\n ],\n backdrop\n }\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const { position , ticks } = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const { position , ticks: { crossAlign , mirror , padding } } = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {\n textAlign,\n x\n };\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {\n top: 0,\n left: this.left,\n bottom: chart.height,\n right: this.right\n };\n }\n if (position === 'top' || position === 'bottom') {\n return {\n top: this.top,\n left: 0,\n bottom: this.bottom,\n right: chart.width\n };\n }\n }\n drawBackground() {\n const { ctx , options: { backgroundColor } , left , top , width , height } = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex((t)=>t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style)=>{\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for(i = 0, ilen = items.length; i < ilen; ++i){\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine({\n x: item.x1,\n y: item.y1\n }, {\n x: item.x2,\n y: item.y2\n }, item);\n }\n if (grid.drawTicks) {\n drawLine({\n x: item.tx1,\n y: item.ty1\n }, {\n x: item.tx2,\n y: item.ty2\n }, {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n });\n }\n }\n }\n }\n drawBorder() {\n const { chart , ctx , options: { border , grid } } = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this.getLabelItems(chartArea);\n for (const item of items){\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const { ctx , options: { position , title , reverse } } = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [\n {\n z: tz,\n draw: (chartArea)=>{\n this.draw(chartArea);\n }\n }\n ];\n }\n return [\n {\n z: gz,\n draw: (chartArea)=>{\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n },\n {\n z: bz,\n draw: ()=>{\n this.drawBorder();\n }\n },\n {\n z: tz,\n draw: (chartArea)=>{\n this.drawLabels(chartArea);\n }\n }\n ];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override){\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach((property)=>{\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [\n scope\n ].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor(){\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [\n this.controllers,\n this.scales,\n this.elements\n ];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [\n ...args\n ].forEach((arg)=>{\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) {\n this._exec(method, reg, arg);\n } else {\n each(arg, (item)=>{\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for(let i = 0; i < this._typedRegistries.length; i++){\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = /* #__PURE__ */ new Registry();\n\nclass PluginService {\n constructor(){\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors){\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [\n chart,\n args,\n descriptor.options\n ];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n function allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for(let i = 0; i < keys.length; i++){\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for(let i = 0; i < local.length; i++){\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {\n plugins,\n localIds\n };\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, { plugins , localIds }, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins){\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {\n plugin,\n local: localIds[id]\n }, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, { plugin , local }, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [\n ''\n ], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction idMatchesAxis(id) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, ...scaleOptions) {\n if (idMatchesAxis(id)) {\n return id;\n }\n for (const opts of scaleOptions){\n const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n if (axis) {\n return axis;\n }\n }\n throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\nfunction getAxisFromDataset(id, axis, dataset) {\n if (dataset[axis + 'AxisID'] === id) {\n return {\n axis\n };\n }\n}\nfunction retrieveAxisFromDatasets(id, config) {\n if (config.data && config.data.datasets) {\n const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id);\n if (boundDs.length) {\n return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n }\n }\n return {};\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {\n scales: {}\n };\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n Object.keys(configScales).forEach((id)=>{\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [\n {\n axis\n },\n scaleConf,\n defaultScaleOptions[axis],\n defaultScaleOptions[defaultId]\n ]);\n });\n config.data.datasets.forEach((dataset)=>{\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach((defaultID)=>{\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [\n {\n axis\n },\n configScales[id],\n defaultScaleOptions[defaultID]\n ]);\n });\n });\n Object.keys(scales).forEach((key)=>{\n const scale = scales[key];\n mergeIf(scale, [\n defaults.scales[scale.type],\n defaults.scale\n ]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key)=>{\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config){\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType, ()=>[\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`, ()=>[\n [\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]\n ]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`, ()=>[\n [\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || []\n ]\n ]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const { options , type } = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach((keys)=>{\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach((key)=>addIfFound(scopes, mainScope, key));\n }\n keys.forEach((key)=>addIfFound(scopes, options, key));\n keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach((key)=>addIfFound(scopes, defaults, key));\n keys.forEach((key)=>addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const { options , type } = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {\n type\n },\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = [\n ''\n ]) {\n const result = {\n $shared: true\n };\n const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names){\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [\n ''\n ], descriptorDefaults) {\n const { resolver } = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key]));\nfunction needContext(proxy, names) {\n const { isScriptable , isIndexable } = _descriptors(proxy);\n for (const prop of names){\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"4.4.7\";\n\nconst KNOWN_POSITIONS = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'chartArea'\n];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x';\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [\n context\n ], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [\n context\n ], chart);\n}\n function getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key)=>{\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c)=>c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys){\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n function determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nfunction getSizeForArea(scale, chartArea, field) {\n return scale.options.clip ? scale[field] : chartArea[field];\n}\nfunction getDatasetArea(meta, chartArea) {\n const { xScale , yScale } = meta;\n if (xScale && yScale) {\n return {\n left: getSizeForArea(xScale, chartArea, 'left'),\n right: getSizeForArea(xScale, chartArea, 'right'),\n top: getSizeForArea(yScale, chartArea, 'top'),\n bottom: getSizeForArea(yScale, chartArea, 'bottom')\n };\n }\n return chartArea;\n}\nclass Chart {\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n constructor(item, userConfig){\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error('Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' + ' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.');\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n get registry() {\n return registry;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {\n width,\n height\n };\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {\n size: newSize\n });\n callback(options.onResize, [\n this,\n newSize\n ], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID)=>{\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id)=>{\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(Object.keys(scaleOpts).map((id)=>{\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n }));\n }\n each(items, (item)=>{\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id)=>{\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale)=>{\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b)=>a.index - b.index);\n if (numMeta > numData) {\n for(let i = numData; i < numMeta; ++i){\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const { _metasets: metasets , data: { datasets } } = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index)=>{\n if (datasets.filter((x)=>x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for(i = 0, ilen = datasets.length; i < ilen; i++){\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const { datasetElementType , dataElementType } = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex)=>{\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){\n const { controller } = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller)=>{\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {\n mode\n });\n this._layers.sort(compare2Level('z', '_idx'));\n const { _active , _lastEvent } = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale)=>{\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const { _hiddenIndices } = this;\n const changes = this._getUniformDataChanges() || [];\n for (const { method , start , count } of changes){\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(',')));\n const changeSet = makeSet(0);\n for(let i = 1; i < datasetCount; i++){\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({\n method: a[1],\n start: +a[2],\n count: +a[3]\n }));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {\n cancelable: true\n }) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box)=>{\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index)=>{\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this.getDatasetMeta(i).controller.configure();\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._updateDataset(i, isFunction(mode) ? mode({\n datasetIndex: i\n }) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {\n mode\n });\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {\n meta,\n index,\n mode,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {\n cancelable: true\n }) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({\n chart: this\n });\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const { width , height } = this._resizeBeforeDraw;\n this._resizeBeforeDraw = null;\n this._resize(width, height);\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const layers = this._layers;\n for(i = 0; i < layers.length && layers[i].z <= 0; ++i){\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for(; i < layers.length; ++i){\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta, this.chartArea);\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter((x)=>x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {\n chart: this,\n type: 'chart'\n }));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {\n visible\n });\n this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const { canvas , ctx } = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y)=>{\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type)=>_add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener)=>{\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height)=>{\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = ()=>{\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = ()=>{\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1;\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const { _active: lastActive = [] , options } = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [\n e,\n active,\n this\n ], this);\n if (isClick) {\n callback(options.onClick, [\n e,\n active,\n this\n ], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart)=>chart._plugins.invalidate());\n}\n\nfunction clipArc(ctx, element, endAngle) {\n const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element;\n let angleMargin = pixelMargin / outerRadius;\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, [\n 'outerStart',\n 'outerEnd',\n 'innerStart',\n 'innerEnd'\n ]);\n}\n/**\n * Parse border radius from the provided options\n */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val)=>{\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit)\n };\n}\n/**\n * Convert (r, ðœƒ) to (x, y)\n */ function rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta)\n };\n}\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */ function pathArc(ctx, element, offset, spacing, end, circular) {\n const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2;\n ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true);\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference } = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawBorder(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference , options } = element;\n const { borderWidth , borderJoinStyle , borderDash , borderDashOffset } = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n ctx.setLineDash(borderDash || []);\n ctx.lineDashOffset = borderDashOffset;\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\nclass ArcElement extends Element {\n static id = 'arc';\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash'\n };\n circumference;\n endAngle;\n fullCircles;\n innerRadius;\n outerRadius;\n pixelMargin;\n startAngle;\n constructor(cfg){\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n const { angle , distance } = getAngleFromPoint(point, {\n x: chartX,\n y: chartY\n });\n const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;\n const betweenAngles = _circumference >= TAU || nonZeroBetween;\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return betweenAngles && withinRadius;\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const { offset , spacing } = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const { options , circumference } = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n ctx.restore();\n }\n}\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n function getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params;\n const { start: segmentStart , end: segmentEnd } = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n function pathSegment(ctx, line, segment, params) {\n const { points , options } = line;\n const { count , start , loop , ilen } = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let { move =true , reverse } = params || {};\n let i, point, prev;\n for(i = 0; i <= ilen; ++i){\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\n function fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const { count , start , ilen } = pathVars(points, segment, params);\n const { move =true , reverse } = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count;\n const drawX = ()=>{\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for(i = 0; i <= ilen; ++i){\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\n function _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n function _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const { segments , options } = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments){\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {\n start,\n end: start + count - 1\n })) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n static id = 'line';\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash' && name !== 'fill'\n };\n constructor(cfg){\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {\n property,\n start: value,\n end: value\n });\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for(i = 0, ilen = segments.length; i < ilen; ++i){\n const { start , end } = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || this.points.length - start;\n for (const segment of segments){\n loop &= segmentMethod(ctx, this, segment, {\n start,\n end: start + count - 1\n });\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const { [axis]: value } = el.getProps([\n axis\n ], useFinalPosition);\n return Math.abs(pos - value) < options.radius + options.hitRadius;\n}\nclass PointElement extends Element {\n static id = 'point';\n parsed;\n skip;\n stop;\n /**\n * @type {any}\n */ static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n /**\n * @type {any}\n */ static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n\nfunction getBarBounds(bar, useFinalPosition) {\n const { x , y , base , width , height } = bar.getProps([\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {\n left,\n top,\n right,\n bottom\n };\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const { enableBorderRadius } = bar.getProps([\n 'enableBorderRadius'\n ]);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r))\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n function addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n static id = 'bar';\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const { inflateAmount , options: { borderColor , backgroundColor } } = this;\n const { inner , outer } = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , base , horizontal } = this.getProps([\n 'x',\n 'y',\n 'base',\n 'horizontal'\n ], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nBarElement: BarElement,\nLineElement: LineElement,\nPointElement: PointElement\n});\n\nconst BORDER_COLORS = [\n 'rgb(54, 162, 235)',\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)' // grey\n];\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\nfunction getBorderColor(i) {\n return BORDER_COLORS[i % BORDER_COLORS.length];\n}\nfunction getBackgroundColor(i) {\n return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\nfunction colorizeDefaultDataset(dataset, i) {\n dataset.borderColor = getBorderColor(i);\n dataset.backgroundColor = getBackgroundColor(i);\n return ++i;\n}\nfunction colorizeDoughnutDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++));\n return i;\n}\nfunction colorizePolarAreaDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++));\n return i;\n}\nfunction getColorizer(chart) {\n let i = 0;\n return (dataset, datasetIndex)=>{\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n if (controller instanceof DoughnutController) {\n i = colorizeDoughnutDataset(dataset, i);\n } else if (controller instanceof PolarAreaController) {\n i = colorizePolarAreaDataset(dataset, i);\n } else if (controller) {\n i = colorizeDefaultDataset(dataset, i);\n }\n };\n}\nfunction containsColorsDefinitions(descriptors) {\n let k;\n for(k in descriptors){\n if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n return true;\n }\n }\n return false;\n}\nfunction containsColorsDefinition(descriptor) {\n return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\nfunction containsDefaultColorsDefenitions() {\n return defaults.borderColor !== 'rgba(0,0,0,0.1)' || defaults.backgroundColor !== 'rgba(0,0,0,0.1)';\n}\nvar plugin_colors = {\n id: 'colors',\n defaults: {\n enabled: true,\n forceOverride: false\n },\n beforeLayout (chart, _args, options) {\n if (!options.enabled) {\n return;\n }\n const { data: { datasets } , options: chartOptions } = chart.config;\n const { elements } = chartOptions;\n const containsColorDefenition = containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements) || containsDefaultColorsDefenitions();\n if (!options.forceOverride && containsColorDefenition) {\n return;\n }\n const colorizer = getColorizer(chart);\n datasets.forEach(colorizer);\n }\n};\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for(i = 0; i < samples - 2; i++){\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for(j = avgRangeStart; j < avgRangeEnd; j++){\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const { x: pointAx , y: pointAy } = data[a];\n maxArea = area = -1;\n for(j = rangeOffs; j < rangeTo; j++){\n area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy));\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for(i = start; i < start + count; ++i){\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: data\n });\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset)=>{\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const { iScale } = meta;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {\n start,\n count\n };\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false\n },\n beforeElementsUpdate: (chart, args, options)=>{\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex)=>{\n const { _data , indexAxis } = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([\n indexAxis,\n chart.options.indexAxis\n ]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch(options.algorithm){\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy (chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments){\n let { start , end } = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments){\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources){\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {\n property,\n start,\n end\n };\n}\nfunction _pointsFromSegments(boundary, line) {\n const { x =null , y =null } = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({ start , end })=>{\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({\n x: first.x,\n y\n });\n points.push({\n x: last.x,\n y\n });\n } else if (x !== null) {\n points.push({\n x,\n y: first.y\n });\n points.push({\n x,\n y: last.y\n });\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for(; end > start; end--){\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {\n tension: 0\n },\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [\n index\n ];\n let target;\n if (!propagate) {\n return fill;\n }\n while(fill !== false && visited.indexOf(fill) === -1){\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\n function _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return [\n 'origin',\n 'start',\n 'end',\n 'stack',\n 'shape'\n ].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\n function _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\n function _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\n function parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const { scale , index , line } = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({\n x: null,\n y: scale.bottom\n }, line));\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n for(let j = segment.start; j <= segment.end; j++){\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({\n points,\n options: {}\n });\n}\n function getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for(let i = 0; i < metas.length; i++){\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\n function addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for(let j = 0; j < linesBelow.length; j++){\n const line = linesBelow[j];\n const { first , last , point } = findPoint(line, sourcePoint, 'x');\n if (!point || first && last) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\n function findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {\n first,\n last,\n point\n };\n}\n\nclass simpleArc {\n constructor(opts){\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const { x , y , radius } = this;\n bounds = bounds || {\n start: 0,\n end: TAU\n };\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const { x , y , radius } = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const { chart , fill , line } = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\n function getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const { scale ={} , fill } = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const { scale , fill } = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for(let i = 0; i < length; ++i){\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const { line , scale , axis } = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const { above =color , below =color } = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {\n line,\n target,\n above,\n below,\n area,\n scale,\n axis\n });\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const { line , target , above , below , area , scale } = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {\n line,\n target,\n color: above,\n scale,\n property\n });\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {\n line,\n target,\n color: below,\n scale,\n property\n });\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const { segments , points } = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments){\n const { start , end } = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {\n move: lineLoop\n });\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const { line , target , property , color , scale } = cfg;\n const segments = _segments(line, target, property);\n for (const { source: src , target: tgt , start , end } of segments){\n const { style: { backgroundColor =color } = {} } = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {\n move: lineLoop,\n reverse: true\n });\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const { top , bottom } = scale.chart.chartArea;\n const { property , start , end } = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate (chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for(i = 0; i < count; ++i){\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for(i = 0; i < count; ++i){\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw (chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw (chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw (chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize)=>{\n let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config){\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [\n this.chart\n ], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const { options , ctx } = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const { ctx , maxWidth , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [\n 0\n ];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i)=>{\n const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {\n left: 0,\n top,\n row,\n width: itemWidth,\n height: itemHeight\n };\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const { ctx , maxHeight , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i)=>{\n const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {\n left,\n top: currentColHeight,\n col,\n width: itemWidth,\n height: itemHeight\n };\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes){\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes){\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const { options: opts , columnSizes , lineWidths , ctx } = this;\n const { align , labels: labelOpts } = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const { padding } = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i)=>{\n ctx.strokeStyle = legendItem.fontColor;\n ctx.fillStyle = legendItem.fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for(i = 0; i < lh.length; ++i){\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [\n e,\n previous,\n this\n ], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [\n e,\n hoveredItem,\n this\n ], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [\n e,\n hoveredItem,\n this\n ], this);\n }\n }\n}\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {\n itemWidth,\n itemHeight\n };\n}\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b);\n }\n return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width;\n}\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length : 0;\n return fontLineHeight * labelHeight;\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start (chart, _args, options) {\n const legend = chart.legend = new Legend({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop (chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate (chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate (chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent (chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick (e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx)=>ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels (chart) {\n const datasets = chart.data.datasets;\n const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta)=>{\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx)=>ctx.chart.options.color,\n display: false,\n position: 'center',\n text: ''\n }\n },\n descriptors: {\n _scriptable: (name)=>!name.startsWith('on'),\n labels: {\n _scriptable: (name)=>![\n 'generateLabels',\n 'filter',\n 'sort'\n ].includes(name)\n }\n }\n};\n\nclass Title extends Element {\n constructor(config){\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const { top , left , bottom , right , options } = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start (chart, _args, options) {\n createTitle(chart, options);\n },\n stop (chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate (chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold'\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start (chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop (chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate (chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal'\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst positioners = {\n average (items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let xSet = new Set();\n let y = 0;\n let count = 0;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n xSet.add(pos.x);\n y += pos.y;\n ++count;\n }\n }\n if (count === 0 || xSet.size === 0) {\n return false;\n }\n const xAverage = [\n ...xSet\n ].reduce((a, b)=>a + b) / xSet.size;\n return {\n x: xAverage,\n y: y / count\n };\n },\n nearest (items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\n function splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n function createTooltipItem(chart, item) {\n const { element , datasetIndex , index } = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const { label , value } = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n function getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const { body , footer , title } = tooltip;\n const { boxWidth , boxHeight } = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0;\n each(body, (bodyItem)=>{\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {\n width,\n height\n };\n}\nfunction determineYAlign(chart, size) {\n const { y , height } = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > chart.height - height / 2) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const { x , width } = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const { x , width } = size;\n const { width: chartWidth , chartArea: { left , right } } = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\n function determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let { x , width } = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= width / 2;\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let { y , height } = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= height / 2;\n }\n return y;\n}\n function getBackgroundPoint(options, size, alignment, chart) {\n const { caretSize , caretPadding , cornerRadius } = options;\n const { xAlign , yAlign } = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left;\n}\n function getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nconst defaultCallbacks = {\n beforeTitle: noop,\n title (tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label (tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0\n };\n },\n labelTextColor () {\n return this.options.bodyColor;\n },\n labelPointStyle (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n function invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n return result;\n}\nclass Tooltip extends Element {\n static positioners = positioners;\n constructor(config){\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const { callbacks } = options;\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems));\n }\n getBody(tooltipItems, options) {\n const { callbacks } = options;\n const bodyItems = [];\n each(tooltipItems, (context)=>{\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems));\n }\n getFooter(tooltipItems, options) {\n const { callbacks } = options;\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for(i = 0, len = active.length; i < len; ++i){\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data));\n }\n each(tooltipItems, (context)=>{\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {\n chart: this.chart,\n tooltip: this,\n replay\n });\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const { xAlign , yAlign } = this;\n const { caretSize , cornerRadius } = options;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n const { x: ptX , y: ptY } = tooltipPoint;\n const { width , height } = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + height / 2;\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {\n x1,\n x2,\n x3,\n y1,\n y2,\n y3\n };\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColor = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const { boxHeight , boxWidth } = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColor.borderColor;\n ctx.fillStyle = labelColor.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1;\n ctx.strokeStyle = labelColor.borderColor;\n ctx.setLineDash(labelColor.borderDash || []);\n ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = toTRBLCorners(labelColor.borderRadius);\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const { body } = this;\n const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0;\n for(i = 0, ilen = body.length; i < ilen; ++i){\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for(j = 0, jlen = lines.length; j < jlen; ++j){\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const { xAlign , yAlign } = this;\n const { x , y } = pt;\n const { width , height } = tooltipSize;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined);\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const { caretX , caretY , options } = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit (chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({\n chart,\n options\n });\n }\n },\n beforeUpdate (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw (chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', {\n ...args,\n cancelable: true\n }) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent (chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold'\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {},\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold'\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts)=>opts.bodyFont.size,\n boxWidth: (ctx, opts)=>opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart'\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'width',\n 'height',\n 'caretX',\n 'caretY'\n ]\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: [\n 'interaction'\n ]\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nColors: plugin_colors,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels)=>{\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({\n index,\n label: raw\n });\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max);\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\nclass CategoryScale extends Scale {\n static id = 'category';\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n constructor(cfg){\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const { index , label } of added){\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for(let value = min; value <= max; value++){\n ticks.push({\n value\n });\n }\n return ticks;\n }\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const { min: rmin , max: rmax } = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [\n {\n value: rmin\n },\n {\n value: rmax\n }\n ];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin));\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({\n value: min\n });\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for(; j < numSpaces; ++j){\n const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n if (maxDefined && tickValue > max) {\n break;\n }\n ticks.push({\n value: tickValue\n });\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({\n value: max\n });\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({\n value: niceMax\n });\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, { horizontal , minRotation }) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const { beginAtZero } = this.options;\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let { maxTicksLimit , stepSize } = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n static id = 'linear';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n\nconst log10Floor = (v)=>Math.floor(log10(v));\nconst changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m);\nfunction isMajor(tickVal) {\n const remain = tickVal / Math.pow(10, log10Floor(tickVal));\n return remain === 1;\n}\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while(steps(min, max, rangeExp) > 10){\n rangeExp++;\n }\n while(steps(min, max, rangeExp) < 10){\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n function generateTicks(generationOptions, { min , max }) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while(value < max){\n ticks.push({\n value,\n major: isMajor(value),\n significand\n });\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({\n value: lastTick,\n major: isMajor(lastTick),\n significand\n });\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n static id = 'logarithmic';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [\n raw,\n index\n ]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n setMax(changeExponent(min, +1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [\n label\n ];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - size / 2,\n end: pos + size / 2\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\n function fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for(let i = 0; i < valueCount; i++){\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction createPointLabelItem(scale, index, itemOpts) {\n const outerDistance = scale.drawingArea;\n const { extra , additionalAngle , padding , size } = itemOpts;\n const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n return {\n visible: true,\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n };\n}\nfunction isNotOverlapped(item, area) {\n if (!area) {\n return true;\n }\n const { left , top , right , bottom } = item;\n const apexesInArea = _isPointInArea({\n x: left,\n y: top\n }, area) || _isPointInArea({\n x: left,\n y: bottom\n }, area) || _isPointInArea({\n x: right,\n y: top\n }, area) || _isPointInArea({\n x: right,\n y: bottom\n }, area);\n return !apexesInArea;\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const { centerPointLabels , display } = opts.pointLabels;\n const itemOpts = {\n extra: getTickBackdropHeight(opts) / 2,\n additionalAngle: centerPointLabels ? PI / valueCount : 0\n };\n let area;\n for(let i = 0; i < valueCount; i++){\n itemOpts.padding = padding[i];\n itemOpts.size = labelSizes[i];\n const item = createPointLabelItem(scale, i, itemOpts);\n items.push(item);\n if (display === 'auto') {\n item.visible = isNotOverlapped(item, area);\n if (item.visible) {\n area = item;\n }\n }\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= w / 2;\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= h / 2;\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabelBox(ctx, opts, item) {\n const { left , top , right , bottom } = item;\n const { backdropColor } = opts;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(opts.borderRadius);\n const padding = toPadding(opts.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n}\nfunction drawPointLabels(scale, labelCount) {\n const { ctx , options: { pointLabels } } = scale;\n for(let i = labelCount - 1; i >= 0; i--){\n const item = scale._pointLabelItems[i];\n if (!item.visible) {\n continue;\n }\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n drawPointLabelBox(ctx, optsAtIndex, item);\n const plFont = toFont(optsAtIndex.font);\n const { x , y , textAlign } = item;\n renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n });\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const { ctx } = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for(let i = 1; i < labelCount; i++){\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const { color , lineWidth } = gridLineOpts;\n if (!circular && !labelCount || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash || []);\n ctx.lineDashOffset = borderOpts.dashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n static id = 'radialLinear';\n static defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback (label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n };\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n constructor(cfg){\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels().map((value, index)=>{\n const label = callback(this.options.pointLabels.callback, [\n value,\n index\n ], this);\n return label || label === 0 ? label : '';\n }).filter((v, i)=>this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const { left , top , right , bottom } = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom\n };\n }\n drawBackground() {\n const { backgroundColor , grid: { circular } } = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const { angleLines , grid , border } = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index)=>{\n if (index !== 0 || index === 0 && this.min < 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for(i = labelCount - 1; i >= 0; i--){\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const { color , lineWidth } = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index)=>{\n if (index === 0 && this.min >= 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height);\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n strokeColor: optsAtIndex.textStrokeColor,\n strokeWidth: optsAtIndex.textStrokeWidth\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\n\nconst INTERVALS = {\n millisecond: {\n common: true,\n size: 1,\n steps: 1000\n },\n second: {\n common: true,\n size: 1000,\n steps: 60\n },\n minute: {\n common: true,\n size: 60000,\n steps: 60\n },\n hour: {\n common: true,\n size: 3600000,\n steps: 24\n },\n day: {\n common: true,\n size: 86400000,\n steps: 30\n },\n week: {\n common: false,\n size: 604800000,\n steps: 4\n },\n month: {\n common: true,\n size: 2.628e9,\n steps: 12\n },\n quarter: {\n common: false,\n size: 7.884e9,\n steps: 4\n },\n year: {\n common: true,\n size: 3.154e10\n }\n};\n const UNITS = /* #__PURE__ */ Object.keys(INTERVALS);\n function sorter(a, b) {\n return a - b;\n}\n function parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const { parser , round , isoWeekday } = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round);\n }\n return +value;\n}\n function determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\n function determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n function determineMajorUnit(unit) {\n for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n function addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const { lo , hi } = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n function setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n function ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for(i = 0; i < ilen; ++i){\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n static id = 'time';\n static defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n callback: false,\n major: {\n enabled: false\n }\n }\n };\n constructor(props){\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {\n min,\n max\n };\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map((tick)=>+tick.value));\n }\n }\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {\n start,\n end,\n factor: 1 / (start + 1 + end)\n };\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort(sorter).map((x)=>+x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n if (formatter) {\n return callback(formatter, [\n time,\n index,\n ticks\n ], this);\n }\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: tickLabelWidth * cosRotation + tickFontSize * sinRotation,\n h: tickLabelWidth * sinRotation + tickFontSize * cosRotation\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [\n exampleTime\n ], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return this._cache.data = metas[0].controller.getAllParsedValues(this);\n }\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return this._cache.data = this.normalize(timestamps);\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for(i = 0, ilen = labels.length; i < ilen; ++i){\n timestamps.push(parse(this, labels[i]));\n }\n return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps);\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({ lo , hi } = _lookupByKey(table, 'pos', val));\n }\n ({ pos: prevSource , time: prevTarget } = table[lo]);\n ({ pos: nextSource , time: nextTarget } = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({ lo , hi } = _lookupByKey(table, 'time', val));\n }\n ({ time: prevSource , pos: prevTarget } = table[lo]);\n ({ time: nextSource , pos: nextTarget } = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n static id = 'timeseries';\n static defaults = TimeScale.defaults;\n constructor(props){\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const { min , max } = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for(i = 0, ilen = timestamps.length; i < ilen; ++i){\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {\n time: min,\n pos: 0\n },\n {\n time: max,\n pos: 1\n }\n ];\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({\n time: curr,\n pos: i / (ilen - 1)\n });\n }\n }\n return table;\n }\n _generate() {\n const min = this.min;\n const max = this.max;\n let timestamps = super.getDataTimestamps();\n if (!timestamps.includes(min) || !timestamps.length) {\n timestamps.splice(0, 0, min);\n }\n if (!timestamps.includes(max) || timestamps.length === 1) {\n timestamps.push(max);\n }\n return timestamps.sort((a, b)=>a - b);\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, plugin_colors as Colors, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registerables, registry, scales };\n//# sourceMappingURL=chart.js.map\n","import {Chart, registerables} from '../dist/chart.js';\n\nChart.register(...registerables);\n\nexport * from '../dist/chart.js';\nexport default Chart;\n","import { Controller } from \"@hotwired/stimulus\"\nimport Chart from 'chart.js/auto'\n\nChart.defaults.elements.line.tension = 0.4\nChart.defaults.interaction.mode = 'index'\n\n\nexport default class extends Controller {\n static targets = [\"canvas\"]\n\n get chartData() {\n return JSON.parse(this.data.get(\"data\"))\n }\n\n get chartType() {\n return this.data.get(\"type\")\n }\n\n get chartOptions() {\n const options = this.data.get(\"options\")\n return options ? JSON.parse(options) : {}\n }\n\n\n\n connect() {\n new Chart(\n this.canvasTarget,\n {\n ...(this.chartType ? { type: this.chartType } : {}),\n data: this.chartData,\n options: this.chartOptions\n }\n );\n }\n\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static values = {\n linkColor: String,\n creationEndpoint: String,\n };\n\n connect() {\n this.initializeWidget();\n }\n\n async initializeWidget() {\n const timestamp = Math.floor(Date.now() / 1000);\n const signature = await this.generateSignature(timestamp);\n this.createWidget(timestamp, signature);\n }\n\n async generateSignature(timestamp) {\n try {\n const response = await fetch(\n `/api/sign_cloudinary_upload?timestamp=${timestamp}&source=uw`\n );\n const { signature } = await response.json();\n return signature;\n } catch (err) {\n console.error(\"Failed to generate signature:\", err);\n }\n }\n\n createWidget(timestamp, signature) {\n const myWidget = cloudinary.createUploadWidget(\n {\n cloudName: \"dcmekntwa\",\n apiKey: \"883898914556696\",\n uploadSignatureTimestamp: timestamp,\n uploadSignature: signature,\n resourceType: \"auto\",\n multiple: true,\n maxFileSize: 10485760, // 10 MB\n cropping: false,\n showPoweredBy: false,\n clientAllowedFormats: [\"jpg\", \"png\", \"mp4\"],\n theme: \"minimal\",\n autoMinimize: true,\n sources: [\"local\"],\n language: \"en\",\n text: {\n en: {\n menu: {\n files: \"Mes fichiers\",\n },\n or: \"Glisser/déposer vos fichiers ici\",\n back: \"Retour\",\n advanced: \"Avancé\",\n close: \"Fermer\",\n no_results: \"No results\",\n search_placeholder: \"Search files\",\n about_uw: \"About the Upload Widget\",\n search: {\n placeholder: \"Search...\",\n reset: \"Reset search\",\n },\n local: {\n browse: \"Télécharger\",\n dd_title_single: \"\",\n dd_title_multi: \"\",\n drop_title_single: \"Drop a file to upload\",\n drop_title_multiple: \"Drop files to upload\",\n },\n queue: {\n title: \"File de téléchargement\",\n title_upload: \"Téléchargement en cours...\",\n title_uploading_with_counter: \"Chargement de {{num}} fichiers\",\n title_processing_with_counter: \"Chargement de {{num}} fichiers\",\n title_uploading_processing_with_counters:\n \"Chargement {{uploading}} fichiers, processing {{processing}} fichiers\",\n title_failed: \"Échec du téléchargement\",\n upload_more: \"Télécharger plus\",\n done: \"Enregistrer\",\n abort_all: \"Annuler tout\",\n mini_title: \"Téléchargés\",\n mini_title_uploading: \"Chargement\",\n mini_title_processing: \"Chargement...\",\n mini_title: \"Fichier téléchargé\",\n mini_upload_count: \"{{num}} fichiers téléchargés\",\n statuses: {\n uploading: \"Chargement\",\n processing: \"Chargement\",\n timeout:\n \"Fichier volumineux en cours de chargement. Veuillez patienter.\",\n error: \"Erreur de chargement\",\n uploaded: \"Téléchargé\",\n aborted: \"Chargement annulé\",\n },\n },\n },\n },\n styles: {\n palette: {\n window: \"#f9fafb\",\n windowBorder: \"#e5e7eb\",\n sourceBg: \"#FFFFFF\",\n tabIcon: \"#334155\",\n menuIcons: \"#5A616A\",\n textDark: \"#334155\",\n textLight: \"#FFFFFF\",\n link: this.linkColorValue,\n action: this.linkColorValue,\n inactiveTabIcon: \"#334155\",\n error: \"#ef4444\",\n inProgress: this.linkColorValue,\n complete: this.linkColorValue,\n sourceBg: \"#FFF\",\n },\n frame: {\n background: \"#33415590\",\n },\n },\n },\n (error, result) => {\n if (error) {\n console.error(\"Upload Error:\", error);\n return;\n }\n if (result && result.event === \"success\") {\n this.handleUploadSuccess(result);\n }\n }\n );\n this.widget = myWidget;\n }\n\n open() {\n this.widget.open();\n }\n\n async handleUploadSuccess(result) {\n const { resource_type, type, version, public_id, format, signature } =\n result.info;\n const medium = `${resource_type}/${type}/v${version}/${public_id}.${format}#${signature}`;\n\n try {\n const response = await fetch(this.creationEndpointValue, {\n method: \"POST\",\n headers: {\n Accept: \"text/vnd.turbo-stream.html, application/json\",\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": document.querySelector('[name=\"csrf-token\"]').content,\n },\n body: JSON.stringify({ medium }),\n });\n\n if (\n response.headers\n .get(\"Content-Type\")\n .includes(\"text/vnd.turbo-stream.html\")\n ) {\n const html = await response.text();\n Turbo.renderStreamMessage(html);\n } else {\n await response.json();\n }\n } catch (error) {\n console.error(\"Error:\", error);\n }\n }\n}\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<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}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()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));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","/**\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;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[: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][: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\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}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||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",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<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";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<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){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;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 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 b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;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<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=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.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=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<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=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\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(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<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>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(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(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&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(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=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(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=Sg(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);Mg(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=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);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(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(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 Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(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,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();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=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\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;zj(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;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(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=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&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 Ij(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 zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);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(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(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 Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(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:Ci(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=Nj;Nj=!1;return n}\nfunction Pj(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&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(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 Rj(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 Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(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 Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(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 Vj(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(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(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(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(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=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=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)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(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)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(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*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=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;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(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);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();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,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(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:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(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=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(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),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(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(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(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=mh(-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);bh(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);bh(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}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(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 $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(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 Pg(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 Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(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 pj(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 Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(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 al(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 bl(a,b,c,d,e,f,g,h,k){a=new al(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};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import { ContentMedium, MediaHolder } from '../../types';\n\nfunction assert(condition: boolean, message: string): asserts condition {\n if (!condition) {\n throw new Error(message);\n }\n}\n\nexport function getCSRFToken() {\n const tag: HTMLElement | null = document.head.querySelector('[name=csrf-token]');\n console.log(tag)\n\n assert(tag instanceof HTMLMetaElement, \"No'csrf-token' meta-tag found.\");\n\n return tag.content;\n}\n\n// Used in content/post/pg forms\nexport function formatMedia(media: ContentMedium[]) {\n return media.map((m: ContentMedium, i: number) => {\n if (m.id) {\n return m.destroy\n ? { _destroy: true, id: m.id }\n : { position: i, id: m.id };\n } else {\n if (m.serialized_file.signature) {\n return {\n medium: `${m.serialized_file.identifier}#${m.serialized_file.signature}`,\n position: i,\n }\n } else {\n return {\n remoteMediumUrl: m.url,\n position: i,\n }\n }\n }\n });\n}\n\nexport function formatMediaHolders(mediaHolders: MediaHolder[]) {\n return mediaHolders.map((m: MediaHolder, i: number) => {\n // si l'association existe déjà (donc si le cm existait aussi)\n if (m.id) {\n return m.destroy\n ? { _destroy: true, id: m.id } // On dégage l'association\n : { position: i, id: m.id, contentMediumId: m.content_medium.id }; // On garde l'association, et on a besoin du CM si jamais on duplique le body (on perdrai l'id du bm)\n // Dans tous les cas on ne touche pas CM lui-même\n // Si plus d'asso, on le supprimera par un job\n } else if (m.content_medium.id) {\n // Ici l'association n'existe pas mais le CM oui\n return m.destroy\n ? null // On dégage l'association \n : { position: i, contentMediumId: m.content_medium.id }; // On garde l'association\n // Dans tous les cas on ne touche pas CM lui-même\n // Si plus d'asso, on le supprimera par un job\n } else {\n if (m.content_medium.serialized_file.signature) {\n return {\n contentMediumAttributes: {\n medium: `${m.content_medium.serialized_file.identifier}#${m.content_medium.serialized_file.signature}`,\n },\n position: i\n }\n }\n }\n })\n}\n\nexport function getQueryParam(param: string) {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(param);\n}\n\n\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { 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});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\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; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","//\n// Main\n//\nexport function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\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//# sourceMappingURL=index.js.map","import { __spreadArray } from \"tslib\";\nimport { memoize, strategies } from '@formatjs/fast-memoize';\n/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\n/**\n * 7.3.5 CreateDataProperty\n * @param target\n * @param name\n * @param value\n */\nexport function createDataProperty(target, name, value) {\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\nexport var createMemoizedNumberFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic,\n});\nexport var createMemoizedDateTimeFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic,\n});\nexport var createMemoizedPluralRules = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic,\n});\nexport var createMemoizedLocale = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.Locale).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic,\n});\nexport var createMemoizedListFormat = memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.ListFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n}, {\n strategy: strategies.variadic,\n});\n","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. `<bold!>foo</bold!>) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo</123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `<bold>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 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // 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: milliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 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 case 'rounding-mode-floor':\n result.roundingMode = 'floor';\n continue;\n case 'rounding-mode-ceiling':\n result.roundingMode = 'ceil';\n continue;\n case 'rounding-mode-down':\n result.roundingMode = 'trunc';\n continue;\n case 'rounding-mode-up':\n result.roundingMode = 'expand';\n continue;\n case 'rounding-mode-half-even':\n result.roundingMode = 'halfEven';\n continue;\n case 'rounding-mode-half-down':\n result.roundingMode = 'halfTrunc';\n continue;\n case 'rounding-mode-half-up':\n result.roundingMode = 'halfExpand';\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\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 \"001\": [\n \"H\",\n \"h\"\n ],\n \"419\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AD\": [\n \"H\",\n \"hB\"\n ],\n \"AE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"AF\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"AG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"AL\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"AM\": [\n \"H\",\n \"hB\"\n ],\n \"AO\": [\n \"H\",\n \"hB\"\n ],\n \"AR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"AS\": [\n \"h\",\n \"H\"\n ],\n \"AT\": [\n \"H\",\n \"hB\"\n ],\n \"AU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"AW\": [\n \"H\",\n \"hB\"\n ],\n \"AX\": [\n \"H\"\n ],\n \"AZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BD\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"BE\": [\n \"H\",\n \"hB\"\n ],\n \"BF\": [\n \"H\",\n \"hB\"\n ],\n \"BG\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"BH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"BI\": [\n \"H\",\n \"h\"\n ],\n \"BJ\": [\n \"H\",\n \"hB\"\n ],\n \"BL\": [\n \"H\",\n \"hB\"\n ],\n \"BM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BN\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"BO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"BQ\": [\n \"H\"\n ],\n \"BR\": [\n \"H\",\n \"hB\"\n ],\n \"BS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"BT\": [\n \"h\",\n \"H\"\n ],\n \"BW\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"BY\": [\n \"H\",\n \"h\"\n ],\n \"BZ\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CA\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"CC\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CD\": [\n \"hB\",\n \"H\"\n ],\n \"CF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CG\": [\n \"H\",\n \"hB\"\n ],\n \"CH\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"CI\": [\n \"H\",\n \"hB\"\n ],\n \"CK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CL\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"CN\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"CO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CP\": [\n \"H\"\n ],\n \"CR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CU\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"CV\": [\n \"H\",\n \"hB\"\n ],\n \"CW\": [\n \"H\",\n \"hB\"\n ],\n \"CX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"CY\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"CZ\": [\n \"H\"\n ],\n \"DE\": [\n \"H\",\n \"hB\"\n ],\n \"DG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"DJ\": [\n \"h\",\n \"H\"\n ],\n \"DK\": [\n \"H\"\n ],\n \"DM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"DO\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"DZ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"EC\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"EE\": [\n \"H\",\n \"hB\"\n ],\n \"EG\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"EH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ER\": [\n \"h\",\n \"H\"\n ],\n \"ES\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"ET\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"FI\": [\n \"H\"\n ],\n \"FJ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"FM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"FO\": [\n \"H\",\n \"h\"\n ],\n \"FR\": [\n \"H\",\n \"hB\"\n ],\n \"GA\": [\n \"H\",\n \"hB\"\n ],\n \"GB\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GD\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GE\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"GF\": [\n \"H\",\n \"hB\"\n ],\n \"GG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GH\": [\n \"h\",\n \"H\"\n ],\n \"GI\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"GL\": [\n \"H\",\n \"h\"\n ],\n \"GM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GN\": [\n \"H\",\n \"hB\"\n ],\n \"GP\": [\n \"H\",\n \"hB\"\n ],\n \"GQ\": [\n \"H\",\n \"hB\",\n \"h\",\n \"hb\"\n ],\n \"GR\": [\n \"h\",\n \"H\",\n \"hb\",\n \"hB\"\n ],\n \"GT\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"GU\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"GW\": [\n \"H\",\n \"hB\"\n ],\n \"GY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"HK\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"HN\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"HR\": [\n \"H\",\n \"hB\"\n ],\n \"HU\": [\n \"H\",\n \"h\"\n ],\n \"IC\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ID\": [\n \"H\"\n ],\n \"IE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IL\": [\n \"H\",\n \"hB\"\n ],\n \"IM\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IN\": [\n \"h\",\n \"H\"\n ],\n \"IO\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"IQ\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"IR\": [\n \"hB\",\n \"H\"\n ],\n \"IS\": [\n \"H\"\n ],\n \"IT\": [\n \"H\",\n \"hB\"\n ],\n \"JE\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"JM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"JO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"JP\": [\n \"H\",\n \"K\",\n \"h\"\n ],\n \"KE\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"KG\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KH\": [\n \"hB\",\n \"h\",\n \"H\",\n \"hb\"\n ],\n \"KI\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KM\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"KN\": [\n \"h\",\n \"hb\",\n \"H\",\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 \"KW\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"KY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"KZ\": [\n \"H\",\n \"hB\"\n ],\n \"LA\": [\n \"H\",\n \"hb\",\n \"hB\",\n \"h\"\n ],\n \"LB\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"LC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LI\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"LK\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"LR\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"LS\": [\n \"h\",\n \"H\"\n ],\n \"LT\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"LU\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"LV\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"LY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"MC\": [\n \"H\",\n \"hB\"\n ],\n \"MD\": [\n \"H\",\n \"hB\"\n ],\n \"ME\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"MF\": [\n \"H\",\n \"hB\"\n ],\n \"MG\": [\n \"H\",\n \"h\"\n ],\n \"MH\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MK\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ML\": [\n \"H\"\n ],\n \"MM\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"MN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MO\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MP\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MQ\": [\n \"H\",\n \"hB\"\n ],\n \"MR\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"MS\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"MT\": [\n \"H\",\n \"h\"\n ],\n \"MU\": [\n \"H\",\n \"h\"\n ],\n \"MV\": [\n \"H\",\n \"h\"\n ],\n \"MW\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"MX\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"MY\": [\n \"hb\",\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"MZ\": [\n \"H\",\n \"hB\"\n ],\n \"NA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NC\": [\n \"H\",\n \"hB\"\n ],\n \"NE\": [\n \"H\"\n ],\n \"NF\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NG\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"NI\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"NL\": [\n \"H\",\n \"hB\"\n ],\n \"NO\": [\n \"H\",\n \"h\"\n ],\n \"NP\": [\n \"H\",\n \"h\",\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 \"NZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"OM\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PA\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PE\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"PG\": [\n \"h\",\n \"H\"\n ],\n \"PH\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PK\": [\n \"h\",\n \"hB\",\n \"H\"\n ],\n \"PL\": [\n \"H\",\n \"h\"\n ],\n \"PM\": [\n \"H\",\n \"hB\"\n ],\n \"PN\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"PR\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"PS\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"PT\": [\n \"H\",\n \"hB\"\n ],\n \"PW\": [\n \"h\",\n \"H\"\n ],\n \"PY\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"QA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"RE\": [\n \"H\",\n \"hB\"\n ],\n \"RO\": [\n \"H\",\n \"hB\"\n ],\n \"RS\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"RU\": [\n \"H\"\n ],\n \"RW\": [\n \"H\",\n \"h\"\n ],\n \"SA\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SB\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SC\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SD\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SE\": [\n \"H\"\n ],\n \"SG\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SH\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SI\": [\n \"H\",\n \"hB\"\n ],\n \"SJ\": [\n \"H\"\n ],\n \"SK\": [\n \"H\"\n ],\n \"SL\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"SM\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SN\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"SO\": [\n \"h\",\n \"H\"\n ],\n \"SR\": [\n \"H\",\n \"hB\"\n ],\n \"SS\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ST\": [\n \"H\",\n \"hB\"\n ],\n \"SV\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"SX\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"SY\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"SZ\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"TC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TD\": [\n \"h\",\n \"H\",\n \"hB\"\n ],\n \"TF\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"TG\": [\n \"H\",\n \"hB\"\n ],\n \"TH\": [\n \"H\",\n \"h\"\n ],\n \"TJ\": [\n \"H\",\n \"h\"\n ],\n \"TL\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ],\n \"TM\": [\n \"H\",\n \"h\"\n ],\n \"TN\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"TO\": [\n \"h\",\n \"H\"\n ],\n \"TR\": [\n \"H\",\n \"hB\"\n ],\n \"TT\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"TW\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"TZ\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UA\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"UG\": [\n \"hB\",\n \"hb\",\n \"H\",\n \"h\"\n ],\n \"UM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"US\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"UY\": [\n \"h\",\n \"H\",\n \"hB\",\n \"hb\"\n ],\n \"UZ\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"VA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"VC\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"VE\": [\n \"h\",\n \"H\",\n \"hB\",\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 \"VN\": [\n \"H\",\n \"h\"\n ],\n \"VU\": [\n \"h\",\n \"H\"\n ],\n \"WF\": [\n \"H\",\n \"hB\"\n ],\n \"WS\": [\n \"h\",\n \"H\"\n ],\n \"XK\": [\n \"H\",\n \"hB\",\n \"h\"\n ],\n \"YE\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"YT\": [\n \"H\",\n \"hB\"\n ],\n \"ZA\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"ZM\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"ZW\": [\n \"H\",\n \"h\"\n ],\n \"af-ZA\": [\n \"H\",\n \"h\",\n \"hB\",\n \"hb\"\n ],\n \"ar-001\": [\n \"h\",\n \"hB\",\n \"hb\",\n \"H\"\n ],\n \"ca-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"en-001\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-HK\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"en-IL\": [\n \"H\",\n \"h\",\n \"hb\",\n \"hB\"\n ],\n \"en-MY\": [\n \"h\",\n \"hb\",\n \"H\",\n \"hB\"\n ],\n \"es-BR\": [\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 \"fr-CA\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gl-ES\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"gu-IN\": [\n \"hB\",\n \"hb\",\n \"h\",\n \"H\"\n ],\n \"hi-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"it-CH\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"it-IT\": [\n \"H\",\n \"h\",\n \"hB\"\n ],\n \"kn-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"ml-IN\": [\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 \"ta-IN\": [\n \"hB\",\n \"h\",\n \"hb\",\n \"H\"\n ],\n \"te-IN\": [\n \"hB\",\n \"h\",\n \"H\"\n ],\n \"zu-ZA\": [\n \"H\",\n \"hB\",\n \"hb\",\n \"h\"\n ]\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","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 && '_a'.startsWith('a', 1);\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\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 \"</\" tagName (whitespace)* \">\"\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 if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\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 { __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// only for testing\nexport var _Parser = Parser;\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","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTagElement, isTimeElement, } from '@formatjs/icu-messageformat-parser';\nimport { ErrorCode, FormatError, InvalidValueError, InvalidValueTypeError, MissingValueError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\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, __rest, __spreadArray } from \"tslib\";\nimport { memoize, strategies } from '@formatjs/fast-memoize';\nimport { parse, } from '@formatjs/icu-messageformat-parser';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\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 if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n var _this = this;\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\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 () {\n var _a;\n return ({\n locale: ((_a = _this.resolvedLocale) === null || _a === void 0 ? void 0 : _a.toString()) ||\n Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n });\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 var _a = opts || {}, formatters = _a.formatters, parseOpts = __rest(_a, [\"formatters\"]);\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, __assign(__assign({}, parseOpts), { locale: this.resolvedLocale }));\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n this.formatters =\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 if (typeof Intl.Locale === 'undefined') {\n return;\n }\n var supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n if (supportedLocales.length > 0) {\n return new Intl.Locale(supportedLocales[0]);\n }\n return new Intl.Locale(typeof locales === 'string' ? locales : locales[0]);\n };\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\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 var _this = _super.call(this, IntlErrorCode.FORMAT_ERROR, \"\".concat(message, \"\\nLocale: \").concat(locale, \"\\n\"), exception) || this;\n _this.locale = locale;\n return _this;\n }\n return IntlFormatError;\n}(IntlError));\nexport { IntlFormatError };\nvar MessageFormatError = /** @class */ (function (_super) {\n __extends(MessageFormatError, _super);\n function MessageFormatError(message, locale, descriptor, exception) {\n var _this = _super.call(this, \"\".concat(message, \"\\nMessageID: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.id, \"\\nDefault Message: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.defaultMessage, \"\\nDescription: \").concat(descriptor === null || descriptor === void 0 ? void 0 : descriptor.description, \"\\n\"), locale, exception) || this;\n _this.descriptor = descriptor;\n _this.locale = locale;\n return _this;\n }\n return MessageFormatError;\n}(IntlFormatError));\nexport { MessageFormatError };\nvar MissingTranslationError = /** @class */ (function (_super) {\n __extends(MissingTranslationError, _super);\n function MissingTranslationError(descriptor, locale) {\n var _this = _super.call(this, IntlErrorCode.MISSING_TRANSLATION, \"Missing message: \\\"\".concat(descriptor.id, \"\\\" for locale \\\"\").concat(locale, \"\\\", using \").concat(descriptor.defaultMessage\n ? \"default message (\".concat(typeof descriptor.defaultMessage === 'string'\n ? descriptor.defaultMessage\n : descriptor.defaultMessage\n .map(function (e) { var _a; return (_a = e.value) !== null && _a !== void 0 ? _a : JSON.stringify(e); })\n .join(), \")\")\n : '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 { __assign } from \"tslib\";\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { IntlMessageFormat, } from 'intl-messageformat';\nimport { MissingTranslationError, MessageFormatError } from './error';\nimport { TYPE } from '@formatjs/icu-messageformat-parser';\nfunction setTimeZoneInOptions(opts, timeZone) {\n return Object.keys(opts).reduce(function (all, k) {\n all[k] = __assign({ timeZone: timeZone }, opts[k]);\n return all;\n }, {});\n}\nfunction deepMergeOptions(opts1, opts2) {\n var keys = Object.keys(__assign(__assign({}, opts1), opts2));\n return keys.reduce(function (all, k) {\n all[k] = __assign(__assign({}, (opts1[k] || {})), (opts2[k] || {}));\n return all;\n }, {});\n}\nfunction deepMergeFormatsAndSetTimeZone(f1, timeZone) {\n if (!timeZone) {\n return f1;\n }\n var mfFormats = IntlMessageFormat.formats;\n return __assign(__assign(__assign({}, mfFormats), f1), { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) });\n}\nexport var formatMessage = function (_a, state, messageDescriptor, values, opts) {\n var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, fallbackOnEmptyString = _a.fallbackOnEmptyString, onError = _a.onError, timeZone = _a.timeZone, defaultRichTextElements = _a.defaultRichTextElements;\n if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; }\n var msgId = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage;\n // `id` is a required field of a Message Descriptor.\n invariant(!!msgId, \"[@formatjs/intl] An `id` must be provided to format a message. You can either:\\n1. Configure your build toolchain with [babel-plugin-formatjs](https://formatjs.io/docs/tooling/babel-plugin)\\nor [@formatjs/ts-transformer](https://formatjs.io/docs/tooling/ts-transformer) OR\\n2. Configure your `eslint` config to include [eslint-plugin-formatjs](https://formatjs.io/docs/tooling/linter#enforce-id)\\nto autofix this issue\");\n var id = String(msgId);\n var message = \n // In case messages is Object.create(null)\n // e.g import('foo.json') from webpack)\n // See https://github.com/formatjs/formatjs/issues/1914\n messages &&\n Object.prototype.hasOwnProperty.call(messages, id) &&\n messages[id];\n // IMPORTANT: Hot path if `message` is AST with a single literal node\n if (Array.isArray(message) &&\n message.length === 1 &&\n message[0].type === TYPE.literal) {\n return message[0].value;\n }\n // IMPORTANT: Hot path straight lookup for performance\n if (!values &&\n message &&\n typeof message === 'string' &&\n !defaultRichTextElements) {\n return message.replace(/'\\{(.*?)\\}'/gi, \"{$1}\");\n }\n values = __assign(__assign({}, defaultRichTextElements), (values || {}));\n formats = deepMergeFormatsAndSetTimeZone(formats, timeZone);\n defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone);\n if (!message) {\n if (fallbackOnEmptyString === false && message === '') {\n return message;\n }\n if (!defaultMessage ||\n (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> 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 { __assign } from \"tslib\";\nimport { filterProps, getNamedFormat } from './utils';\nimport { IntlFormatError } from './error';\nvar DATE_TIME_FORMAT_OPTIONS = [\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 'fractionalSecondDigits',\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 IntlFormatError('Error formatting date.', config.locale, e));\n }\n return String(date);\n}\nexport function formatTime(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _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 IntlFormatError('Error formatting time.', config.locale, e));\n }\n return String(date);\n}\nexport function formatDateTimeRange(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var from = _a[0], 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 IntlFormatError('Error formatting date time range.', config.locale, e));\n }\n return String(from);\n}\nexport function formatDateToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _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); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting date.', config.locale, e));\n }\n return [];\n}\nexport function formatTimeToParts(config, getDateTimeFormat) {\n var _a = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n _a[_i - 2] = arguments[_i];\n }\n var value = _a[0], _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); // TODO: remove this when https://github.com/microsoft/TypeScript/pull/50402 is merged\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting time.', config.locale, e));\n }\n return [];\n}\n","import { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar DISPLAY_NAMES_OPTONS = [\n 'style',\n 'type',\n 'fallback',\n 'languageDisplay',\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 IntlFormatError('Error formatting display name.', locale, e));\n }\n}\n","import { __assign } from \"tslib\";\nimport { filterProps } from './utils';\nimport { FormatError, ErrorCode } from 'intl-messageformat';\nimport { IntlFormatError } from './error';\nvar LIST_FORMAT_OPTIONS = [\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.length === 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 IntlFormatError('Error formatting list.', locale, e));\n }\n // @ts-ignore\n return values;\n}\n","import { filterProps } from './utils';\nimport { IntlFormatError } from './error';\nimport { ErrorCode, FormatError } from 'intl-messageformat';\nvar PLURAL_FORMAT_OPTIONS = ['type'];\nexport function formatPlural(_a, getPluralRules, value, options) {\n var locale = _a.locale, 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 { 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 { IntlFormatError } from './error';\nimport { filterProps, getNamedFormat } from './utils';\nvar NUMBER_FORMAT_OPTIONS = [\n 'style',\n 'currency',\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 // ES2023 NumberFormat\n 'trailingZeroDisplay',\n 'roundingPriority',\n 'roundingIncrement',\n 'roundingMode',\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 IntlFormatError('Error formatting number.', config.locale, e));\n }\n return String(value);\n}\nexport function formatNumberToParts(config, getNumberFormat, value, options) {\n if (options === void 0) { options = {}; }\n try {\n return getFormatter(config, getNumberFormat, options).formatToParts(value);\n }\n catch (e) {\n config.onError(new IntlFormatError('Error formatting number.', config.locale, e));\n }\n return [];\n}\n","import { __assign } from \"tslib\";\nimport { createFormatters, DEFAULT_INTL_CONFIG } from './utils';\nimport { InvalidConfigError, MissingDataError } from './error';\nimport { formatNumber, formatNumberToParts } from './number';\nimport { formatRelativeTime } from './relativeTime';\nimport { formatDate, formatDateToParts, formatTime, formatTimeToParts, formatDateTimeRange, } from './dateTime';\nimport { formatPlural } from './plural';\nimport { formatMessage } from './message';\nimport { formatList, formatListToParts } from './list';\nimport { formatDisplayName } from './displayName';\nfunction messagesContainString(messages) {\n var firstMessage = messages ? messages[Object.keys(messages)[0]] : undefined;\n return typeof firstMessage === 'string';\n}\nfunction verifyConfigMessages(config) {\n if (config.onWarn &&\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 <FormattedMessage> 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), \n // @ts-expect-error TODO: will get to this later\n formatMessage: formatMessage.bind(null, resolvedConfig, formatters), \n // @ts-expect-error TODO: will get to this later\n $t: formatMessage.bind(null, resolvedConfig, formatters), 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 '<IntlProvider> 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","/** @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 reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\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 var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import { __assign } from \"tslib\";\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// This is primarily dealing with packaging systems where multiple copies of react-intl\n// might exist\nvar IntlContext = typeof window !== 'undefined' && !window.__REACT_INTL_BYPASS_GLOBAL_CONTEXT__\n ? window.__REACT_INTL_CONTEXT__ ||\n (window.__REACT_INTL_CONTEXT__ = React.createContext(null))\n : React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function (props) { return (React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return (React.createElement(WrappedComponent, __assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n })); };\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(\n // @ts-expect-error\n React.forwardRef(function (props, ref) { return (React.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\n","import * as React from 'react';\nimport { invariantIntlContext } from '../utils';\nimport { Context } from './injectIntl';\nexport default function useIntl() {\n var intl = React.useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport useIntl from './useIntl';\nvar DisplayName;\n(function (DisplayName) {\n DisplayName[\"formatDate\"] = \"FormattedDate\";\n DisplayName[\"formatTime\"] = \"FormattedTime\";\n DisplayName[\"formatNumber\"] = \"FormattedNumber\";\n DisplayName[\"formatList\"] = \"FormattedList\";\n // Note that this DisplayName is the locale display name, not to be confused with\n // the name of the enum, which is for React component display name in dev tools.\n DisplayName[\"formatDisplayName\"] = \"FormattedDisplayName\";\n})(DisplayName || (DisplayName = {}));\nvar DisplayNameParts;\n(function (DisplayNameParts) {\n DisplayNameParts[\"formatDate\"] = \"FormattedDateParts\";\n DisplayNameParts[\"formatTime\"] = \"FormattedTimeParts\";\n DisplayNameParts[\"formatNumber\"] = \"FormattedNumberParts\";\n DisplayNameParts[\"formatList\"] = \"FormattedListParts\";\n})(DisplayNameParts || (DisplayNameParts = {}));\nexport var FormattedNumberParts = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatNumberToParts(value, formatProps));\n};\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport var FormattedListParts = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n return children(intl.formatListToParts(value, formatProps));\n};\nFormattedNumberParts.displayName = 'FormattedNumberParts';\nexport function createFormattedDateTimePartsComponent(name) {\n var ComponentParts = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props, [\"value\", \"children\"]);\n var date = typeof value === 'string' ? new Date(value || 0) : value;\n var formattedParts = name === 'formatDate'\n ? intl.formatDateToParts(date, formatProps)\n : intl.formatTimeToParts(date, formatProps);\n return children(formattedParts);\n };\n ComponentParts.displayName = DisplayNameParts[name];\n return ComponentParts;\n}\nexport function createFormattedComponent(name) {\n var Component = function (props) {\n var intl = useIntl();\n var value = props.value, children = props.children, formatProps = __rest(props\n // TODO: fix TS type definition for localeMatcher upstream\n , [\"value\", \"children\"]);\n // TODO: fix TS type definition for localeMatcher upstream\n var formattedValue = intl[name](value, formatProps);\n if (typeof children === 'function') {\n return children(formattedValue);\n }\n var Text = intl.textComponent || React.Fragment;\n return React.createElement(Text, null, formattedValue);\n };\n Component.displayName = DisplayName[name];\n return Component;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __assign, __rest, __spreadArray } from \"tslib\";\nimport { createIntl as coreCreateIntl, formatMessage as coreFormatMessage, } from '@formatjs/intl';\nimport * as React from 'react';\nimport { DEFAULT_INTL_CONFIG, assignUniqueKeysToParts } from '../utils';\nimport { isFormatXMLElementFn, } from 'intl-messageformat';\nfunction assignUniqueKeysToFormatXMLElementFnArgument(values) {\n if (!values) {\n return values;\n }\n return Object.keys(values).reduce(function (acc, k) {\n var v = values[k];\n acc[k] = isFormatXMLElementFn(v)\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 var resolvedConfig = {\n locale: coreIntl.locale,\n timeZone: coreIntl.timeZone,\n fallbackOnEmptyString: coreIntl.fallbackOnEmptyString,\n formats: coreIntl.formats,\n defaultLocale: coreIntl.defaultLocale,\n defaultFormats: coreIntl.defaultFormats,\n messages: coreIntl.messages,\n onError: coreIntl.onError,\n defaultRichTextElements: defaultRichTextElements,\n };\n return __assign(__assign({}, coreIntl), { formatMessage: formatMessage.bind(null, resolvedConfig, \n // @ts-expect-error fix this\n coreIntl.formatters), \n // @ts-expect-error fix this\n $t: formatMessage.bind(null, resolvedConfig, coreIntl.formatters) });\n};\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __extends } from \"tslib\";\nimport { createIntlCache } from '@formatjs/intl';\nimport * as React from 'react';\nimport { DEFAULT_INTL_CONFIG, invariantIntlContext, shallowEqual } from '../utils';\nimport { Provider } from './injectIntl';\nimport { createIntl } from './createIntl';\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n fallbackOnEmptyString: config.fallbackOnEmptyString,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n onWarn: config.onWarn,\n wrapRichTextChunksInFragment: config.wrapRichTextChunksInFragment,\n defaultRichTextElements: config.defaultRichTextElements,\n };\n}\nvar IntlProvider = /** @class */ (function (_super) {\n __extends(IntlProvider, _super);\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props),\n };\n return _this;\n }\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig, 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","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __rest } from \"tslib\";\nimport * as React from 'react';\nimport { shallowEqual } from '../utils';\nimport useIntl from './useIntl';\nfunction areEqual(prevProps, nextProps) {\n var values = prevProps.values, otherProps = __rest(prevProps, [\"values\"]);\n var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (shallowEqual(nextValues, values) &&\n shallowEqual(otherProps, nextOtherProps));\n}\nfunction FormattedMessage(props) {\n var intl = useIntl();\n var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;\n var id = props.id, description = props.description, defaultMessage = props.defaultMessage, values = props.values, children = props.children, _b = props.tagName, Component = _b === void 0 ? Text : _b, ignoreTag = props.ignoreTag;\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var nodes = formatMessage(descriptor, values, {\n ignoreTag: ignoreTag,\n });\n if (typeof children === 'function') {\n return children(Array.isArray(nodes) ? nodes : [nodes]);\n }\n if (Component) {\n return React.createElement(Component, null, React.Children.toArray(nodes));\n }\n return React.createElement(React.Fragment, null, nodes);\n}\nFormattedMessage.displayName = 'FormattedMessage';\nvar MemoizedFormattedMessage = React.memo(FormattedMessage, areEqual);\nMemoizedFormattedMessage.displayName = 'MemoizedFormattedMessage';\nexport default MemoizedFormattedMessage;\n","import { createFormattedComponent, createFormattedDateTimePartsComponent, } from './src/components/createFormattedComponent';\nimport injectIntl, { Provider as RawIntlProvider, Context as IntlContext, } from './src/components/injectIntl';\nimport useIntl from './src/components/useIntl';\nimport IntlProvider from './src/components/provider';\nimport { createIntl } from './src/components/createIntl';\nimport FormattedRelativeTime from './src/components/relative';\nimport FormattedPlural from './src/components/plural';\nimport FormattedMessage from './src/components/message';\nimport FormattedDateTimeRange from './src/components/dateTimeRange';\nexport { FormattedDateTimeRange, FormattedMessage, FormattedPlural, FormattedRelativeTime, IntlContext, IntlProvider, RawIntlProvider, createIntl, injectIntl, useIntl, };\nexport { createIntlCache, UnsupportedFormatterError, InvalidConfigError, MissingDataError, MessageFormatError, MissingTranslationError, IntlErrorCode as ReactIntlErrorCode, IntlError as ReactIntlError, } from '@formatjs/intl';\nexport function defineMessages(msgs) {\n return msgs;\n}\nexport function defineMessage(msg) {\n return msg;\n}\n// IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./src/types').CustomFormatConfig`\nexport var FormattedDate = createFormattedComponent('formatDate');\nexport var FormattedTime = createFormattedComponent('formatTime');\nexport var FormattedNumber = createFormattedComponent('formatNumber');\nexport var FormattedList = createFormattedComponent('formatList');\nexport var FormattedDisplayName = createFormattedComponent('formatDisplayName');\nexport var FormattedDateParts = createFormattedDateTimePartsComponent('formatDate');\nexport var FormattedTimeParts = createFormattedDateTimePartsComponent('formatTime');\nexport { FormattedNumberParts, FormattedListParts, } from './src/components/createFormattedComponent';\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction stringifiable(obj) {\n // Safely stringify Object.create(null)\n /* istanbul ignore next */\n return typeof obj === 'object' && !('toString' in obj) ?\n Object.prototype.toString.call(obj).slice(8, -1) :\n obj;\n}\nvar isProduction = typeof process === 'object' && process.env.NODE_ENV === 'production';\nfunction invariant(condition, message) {\n if (!condition) {\n /* istanbul ignore next */\n if (isProduction) {\n throw new Error('Invariant failed');\n }\n throw new Error(message());\n }\n}\nexports.invariant = invariant;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar splice = Array.prototype.splice;\nvar toString = Object.prototype.toString;\nfunction type(obj) {\n return toString.call(obj).slice(8, -1);\n}\nvar assign = Object.assign || /* istanbul ignore next */ (function (target, source) {\n getAllKeys(source).forEach(function (key) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n });\n return target;\n});\nvar getAllKeys = typeof Object.getOwnPropertySymbols === 'function'\n ? function (obj) { return Object.keys(obj).concat(Object.getOwnPropertySymbols(obj)); }\n /* istanbul ignore next */\n : function (obj) { return Object.keys(obj); };\nfunction copy(object) {\n return Array.isArray(object)\n ? assign(object.constructor(object.length), object)\n : (type(object) === 'Map')\n ? new Map(object)\n : (type(object) === 'Set')\n ? new Set(object)\n : (object && typeof object === 'object')\n ? assign(Object.create(Object.getPrototypeOf(object)), object)\n /* istanbul ignore next */\n : object;\n}\nvar Context = /** @class */ (function () {\n function Context() {\n this.commands = assign({}, defaultCommands);\n this.update = this.update.bind(this);\n // Deprecated: update.extend, update.isEquals and update.newContext\n this.update.extend = this.extend = this.extend.bind(this);\n this.update.isEquals = function (x, y) { return x === y; };\n this.update.newContext = function () { return new Context().update; };\n }\n Object.defineProperty(Context.prototype, \"isEquals\", {\n get: function () {\n return this.update.isEquals;\n },\n set: function (value) {\n this.update.isEquals = value;\n },\n enumerable: true,\n configurable: true\n });\n Context.prototype.extend = function (directive, fn) {\n this.commands[directive] = fn;\n };\n Context.prototype.update = function (object, $spec) {\n var _this = this;\n var spec = (typeof $spec === 'function') ? { $apply: $spec } : $spec;\n if (!(Array.isArray(object) && Array.isArray(spec))) {\n invariant(!Array.isArray(spec), function () { return \"update(): You provided an invalid spec to update(). The spec may \" +\n \"not contain an array except as the value of $set, $push, $unshift, \" +\n \"$splice or any custom command allowing an array value.\"; });\n }\n invariant(typeof spec === 'object' && spec !== null, function () { return \"update(): You provided an invalid spec to update(). The spec and \" +\n \"every included key path must be plain objects containing one of the \" +\n (\"following commands: \" + Object.keys(_this.commands).join(', ') + \".\"); });\n var nextObject = object;\n getAllKeys(spec).forEach(function (key) {\n if (hasOwnProperty.call(_this.commands, key)) {\n var objectWasNextObject = object === nextObject;\n nextObject = _this.commands[key](spec[key], nextObject, spec, object);\n if (objectWasNextObject && _this.isEquals(nextObject, object)) {\n nextObject = object;\n }\n }\n else {\n var nextValueForKey = type(object) === 'Map'\n ? _this.update(object.get(key), spec[key])\n : _this.update(object[key], spec[key]);\n var nextObjectValue = type(nextObject) === 'Map'\n ? nextObject.get(key)\n : nextObject[key];\n if (!_this.isEquals(nextValueForKey, nextObjectValue)\n || typeof nextValueForKey === 'undefined'\n && !hasOwnProperty.call(object, key)) {\n if (nextObject === object) {\n nextObject = copy(object);\n }\n if (type(nextObject) === 'Map') {\n nextObject.set(key, nextValueForKey);\n }\n else {\n nextObject[key] = nextValueForKey;\n }\n }\n }\n });\n return nextObject;\n };\n return Context;\n}());\nexports.Context = Context;\nvar defaultCommands = {\n $push: function (value, nextObject, spec) {\n invariantPushAndUnshift(nextObject, spec, '$push');\n return value.length ? nextObject.concat(value) : nextObject;\n },\n $unshift: function (value, nextObject, spec) {\n invariantPushAndUnshift(nextObject, spec, '$unshift');\n return value.length ? value.concat(nextObject) : nextObject;\n },\n $splice: function (value, nextObject, spec, originalObject) {\n invariantSplices(nextObject, spec);\n value.forEach(function (args) {\n invariantSplice(args);\n if (nextObject === originalObject && args.length) {\n nextObject = copy(originalObject);\n }\n splice.apply(nextObject, args);\n });\n return nextObject;\n },\n $set: function (value, _nextObject, spec) {\n invariantSet(spec);\n return value;\n },\n $toggle: function (targets, nextObject) {\n invariantSpecArray(targets, '$toggle');\n var nextObjectCopy = targets.length ? copy(nextObject) : nextObject;\n targets.forEach(function (target) {\n nextObjectCopy[target] = !nextObject[target];\n });\n return nextObjectCopy;\n },\n $unset: function (value, nextObject, _spec, originalObject) {\n invariantSpecArray(value, '$unset');\n value.forEach(function (key) {\n if (Object.hasOwnProperty.call(nextObject, key)) {\n if (nextObject === originalObject) {\n nextObject = copy(originalObject);\n }\n delete nextObject[key];\n }\n });\n return nextObject;\n },\n $add: function (values, nextObject, _spec, originalObject) {\n invariantMapOrSet(nextObject, '$add');\n invariantSpecArray(values, '$add');\n if (type(nextObject) === 'Map') {\n values.forEach(function (_a) {\n var key = _a[0], value = _a[1];\n if (nextObject === originalObject && nextObject.get(key) !== value) {\n nextObject = copy(originalObject);\n }\n nextObject.set(key, value);\n });\n }\n else {\n values.forEach(function (value) {\n if (nextObject === originalObject && !nextObject.has(value)) {\n nextObject = copy(originalObject);\n }\n nextObject.add(value);\n });\n }\n return nextObject;\n },\n $remove: function (value, nextObject, _spec, originalObject) {\n invariantMapOrSet(nextObject, '$remove');\n invariantSpecArray(value, '$remove');\n value.forEach(function (key) {\n if (nextObject === originalObject && nextObject.has(key)) {\n nextObject = copy(originalObject);\n }\n nextObject.delete(key);\n });\n return nextObject;\n },\n $merge: function (value, nextObject, _spec, originalObject) {\n invariantMerge(nextObject, value);\n getAllKeys(value).forEach(function (key) {\n if (value[key] !== nextObject[key]) {\n if (nextObject === originalObject) {\n nextObject = copy(originalObject);\n }\n nextObject[key] = value[key];\n }\n });\n return nextObject;\n },\n $apply: function (value, original) {\n invariantApply(value);\n return value(original);\n },\n};\nvar defaultContext = new Context();\nexports.isEquals = defaultContext.update.isEquals;\nexports.extend = defaultContext.extend;\nexports.default = defaultContext.update;\n// @ts-ignore\nexports.default.default = module.exports = assign(exports.default, exports);\n// invariants\nfunction invariantPushAndUnshift(value, spec, command) {\n invariant(Array.isArray(value), function () { return \"update(): expected target of \" + stringifiable(command) + \" to be an array; got \" + stringifiable(value) + \".\"; });\n invariantSpecArray(spec[command], command);\n}\nfunction invariantSpecArray(spec, command) {\n invariant(Array.isArray(spec), function () { return \"update(): expected spec of \" + stringifiable(command) + \" to be an array; got \" + stringifiable(spec) + \". \" +\n \"Did you forget to wrap your parameter in an array?\"; });\n}\nfunction invariantSplices(value, spec) {\n invariant(Array.isArray(value), function () { return \"Expected $splice target to be an array; got \" + stringifiable(value); });\n invariantSplice(spec.$splice);\n}\nfunction invariantSplice(value) {\n invariant(Array.isArray(value), function () { return \"update(): expected spec of $splice to be an array of arrays; got \" + stringifiable(value) + \". \" +\n \"Did you forget to wrap your parameters in an array?\"; });\n}\nfunction invariantApply(fn) {\n invariant(typeof fn === 'function', function () { return \"update(): expected spec of $apply to be a function; got \" + stringifiable(fn) + \".\"; });\n}\nfunction invariantSet(spec) {\n invariant(Object.keys(spec).length === 1, function () { return \"Cannot have more than one key in an object with $set\"; });\n}\nfunction invariantMerge(target, specValue) {\n invariant(specValue && typeof specValue === 'object', function () { return \"update(): $merge expects a spec of type 'object'; got \" + stringifiable(specValue); });\n invariant(target && typeof target === 'object', function () { return \"update(): $merge expects a target of type 'object'; got \" + stringifiable(target); });\n}\nfunction invariantMapOrSet(target, command) {\n var typeOfTarget = type(target);\n invariant(typeOfTarget === 'Map' || typeOfTarget === 'Set', function () { return \"update(): \" + stringifiable(command) + \" expects a target of type Set or Map; got \" + stringifiable(typeOfTarget); });\n}\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar lodash_clonedeep = {exports: {}};\n\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n(function (module, exports) {\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\n/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including symbols.\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, isDeep, isFull, customizer, key, object, stack) {\n var result;\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Creates an array of the own enumerable symbol properties of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return cloneMap(object, isDeep, cloneFunc);\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, true, true);\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = cloneDeep;\n}(lodash_clonedeep, lodash_clonedeep.exports));\n\nvar cloneDeep = lodash_clonedeep.exports;\n\n/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n\nvar __assign$1 = function() {\n __assign$1 = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign$1.apply(this, arguments);\n};\n\nfunction __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nfunction __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\n/**\r\n * Iterate through plugins and break in cases where the response is canceled. The\r\n * response is canceled if component is updated or unmounted\r\n * @param element {HTMLImageElement|HTMLVideoElement} Html Image or Video element\r\n * @param pluginCloudinaryAsset {CloudinaryImage|CloudinaryVideo} The Cloudinary asset generated by base\r\n * @param plugins {plugins} array of plugins passed in by the user\r\n * @param pluginState {htmlPluginState} Holds cleanup callbacks and event subscriptions\r\n * @param analyticsOptions {BaseAnalyticsOptions} analytics options for the url to be created\r\n */\r\nfunction render(element, pluginCloudinaryAsset, plugins, pluginState, analyticsOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response, i;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (plugins === undefined)\r\n return [2 /*return*/];\r\n i = 0;\r\n _a.label = 1;\r\n case 1:\r\n if (!(i < plugins.length)) return [3 /*break*/, 4];\r\n return [4 /*yield*/, plugins[i](element, pluginCloudinaryAsset, pluginState, analyticsOptions, plugins)];\r\n case 2:\r\n response = _a.sent();\r\n if (response === 'canceled') {\r\n return [3 /*break*/, 4];\r\n }\r\n _a.label = 3;\r\n case 3:\r\n i++;\r\n return [3 /*break*/, 1];\r\n case 4:\r\n if (response !== 'canceled') {\r\n return [2 /*return*/, response];\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\n\nvar getAnalyticsOptions = function (options, features) {\r\n if (features === void 0) { features = {}; }\r\n return options ? {\r\n trackedAnalytics: __assign$1({ sdkCode: options.sdkCode, sdkSemver: options.sdkSemver, techVersion: options.techVersion }, features)\r\n } : null;\r\n};\n\nvar HtmlImageLayer = /** @class */ (function () {\r\n function HtmlImageLayer(element, userCloudinaryImage, plugins, baseAnalyticsOptions) {\r\n var _this = this;\r\n this.isMounted = true;\r\n this.imgElement = element;\r\n this.htmlPluginState = { cleanupCallbacks: [], pluginEventSubscription: [] };\r\n var pluginCloudinaryImage = cloneDeep(userCloudinaryImage);\r\n render(element, pluginCloudinaryImage, plugins, this.htmlPluginState, baseAnalyticsOptions)\r\n .then(function (pluginResponse) {\r\n if (!_this.isMounted) {\r\n return;\r\n }\r\n _this.htmlPluginState.pluginEventSubscription.forEach(function (fn) { fn(); });\r\n var analyticsOptions = getAnalyticsOptions(baseAnalyticsOptions, pluginResponse);\r\n _this.imgElement.setAttribute('src', pluginCloudinaryImage.toURL(analyticsOptions));\r\n });\r\n }\r\n /**\r\n * Called when component is updated and re-triggers render\r\n * @param userCloudinaryImage\r\n * @param plugins\r\n * @param baseAnalyticsOptions\r\n */\r\n HtmlImageLayer.prototype.update = function (userCloudinaryImage, plugins, baseAnalyticsOptions) {\r\n var _this = this;\r\n var pluginCloudinaryImage = cloneDeep(userCloudinaryImage);\r\n render(this.imgElement, pluginCloudinaryImage, plugins, this.htmlPluginState)\r\n .then(function (pluginResponse) {\r\n if (!_this.isMounted) {\r\n return;\r\n }\r\n var featuredAnalyticsOptions = getAnalyticsOptions(baseAnalyticsOptions, pluginResponse);\r\n _this.imgElement.setAttribute('src', pluginCloudinaryImage.toURL(featuredAnalyticsOptions));\r\n });\r\n };\r\n HtmlImageLayer.prototype.unmount = function () {\r\n this.isMounted = false;\r\n };\r\n return HtmlImageLayer;\r\n}());\n\n/**\n * @summary SDK\n * @memberOf SDK\n */\nclass QualifierValue {\n /**\n *\n * @param {QualifierValue | QualifierValue[] | any[] | string | number}qualifierValue\n */\n constructor(qualifierValue) {\n this.values = [];\n this.delimiter = ':'; // {value}{delimiter}{value}...\n if (this.hasValue(qualifierValue)) {\n this.addValue(qualifierValue);\n }\n }\n /**\n * @description Joins the provided values with the provided delimiter\n */\n toString() {\n return this.values.join(this.delimiter);\n }\n /**\n * @description Checks if the provided argument has a value\n * @param {any} v\n * @private\n * @return {boolean}\n */\n hasValue(v) {\n return typeof v !== 'undefined' && v !== null && v !== '';\n }\n /**\n * @desc Adds a value for the this qualifier instance\n * @param {any} value\n * @return {this}\n */\n addValue(value) {\n // Append value or array of values\n if (Array.isArray(value)) {\n this.values = this.values.concat(value);\n }\n else {\n this.values.push(value);\n }\n // Remove falsy values\n this.values = this.values.filter((v) => this.hasValue(v));\n return this;\n }\n /**\n * @description Sets the delimiter for this instance\n * @param delimiter\n */\n setDelimiter(delimiter) {\n this.delimiter = delimiter;\n return this;\n }\n}\n\nclass UnsupportedError extends Error {\n constructor(message = 'Unsupported') {\n super(message);\n }\n}\n/**\n * Creates a new UnsupportedError\n * @param message\n */\nfunction createUnsupportedError(message) {\n return new UnsupportedError(message);\n}\n\n/**\n * Returns the action's model\n */\nfunction qualifierToJson() {\n return this._qualifierModel || { error: createUnsupportedError(`unsupported qualifier ${this.constructor.name}`) };\n}\n\nclass QualifierModel {\n constructor() {\n this._qualifierModel = {};\n }\n toJson() {\n return qualifierToJson.apply(this);\n }\n}\n\n/**\n * @summary SDK\n * @memberOf SDK\n */\nclass Qualifier extends QualifierModel {\n constructor(key, qualifierValue) {\n super();\n this.delimiter = '_'; // {key}{delimiter}{qualifierValue}\n this.key = key;\n if (qualifierValue instanceof QualifierValue) {\n this.qualifierValue = qualifierValue;\n }\n else {\n this.qualifierValue = new QualifierValue();\n this.qualifierValue.addValue(qualifierValue);\n }\n }\n toString() {\n const { key, delimiter, qualifierValue } = this;\n return `${key}${delimiter}${qualifierValue.toString()}`;\n }\n addValue(value) {\n this.qualifierValue.addValue(value);\n return this;\n }\n}\n\n/**\n * @memberOf Qualifiers.Flag\n * @extends {SDK.Qualifier}\n * @description the FlagQualifier class\n */\nclass FlagQualifier extends Qualifier {\n constructor(flagType, flagValue) {\n let qualifierValue;\n if (flagValue) {\n qualifierValue = new QualifierValue([flagType, `${flagValue}`]).setDelimiter(':');\n }\n else {\n qualifierValue = flagType;\n }\n super('fl', qualifierValue);\n this.flagValue = flagValue;\n }\n toString() {\n return super.toString().replace(/\\./g, '%2E');\n }\n getFlagValue() {\n return this.flagValue;\n }\n}\n\n/**\n * Sort a map by key\n * @private\n * @param map <string, any>\n * @Return array of map's values sorted by key\n */\nfunction mapToSortedArray(map, flags) {\n const array = Array.from(map.entries());\n // objects from the Array.from() method above are stored in array of arrays:\n // [[qualifierKey, QualifierObj], [qualifierKey, QualifierObj]]\n // Flags is an array of FlagQualifierObj\n // We need to convert it to the same form: [flagQualifier] => ['fl', flagQualifier]\n flags.forEach((flag) => {\n array.push(['fl', flag]); // push ['fl', flagQualifier]\n });\n return array.sort().map((v) => v[1]);\n}\n\n/**\n * Returns the action's model\n */\nfunction actionToJson() {\n var _a, _b, _c;\n const actionModelIsNotEmpty = this._actionModel && Object.keys(this._actionModel).length;\n const sourceTransformationError = (_c = (_b = (_a = this._actionModel) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.transformation) === null || _c === void 0 ? void 0 : _c.error;\n // Should return error when there is unsupported transformation inside\n if (sourceTransformationError && sourceTransformationError instanceof Error) {\n return { error: sourceTransformationError };\n }\n if (actionModelIsNotEmpty) {\n return this._actionModel;\n }\n return { error: createUnsupportedError(`unsupported action ${this.constructor.name}`) };\n}\n\nclass ActionModel {\n constructor() {\n this._actionModel = {};\n }\n toJson() {\n return actionToJson.apply(this);\n }\n}\n\n/**\n * @summary SDK\n * @memberOf SDK\n * @description Defines the category of transformation to perform.\n */\nclass Action extends ActionModel {\n constructor() {\n super(...arguments);\n // We're using map, to overwrite existing keys. for example:\n // addParam(w_100).addQualifier(w_200) should result in w_200. and not w_100,w_200\n this.qualifiers = new Map();\n // Unlike regular qualifiers, there can be multiple flags in each url component /fl_1,fl_2/\n // If the falgs are added to the qualifiers map, only a single flag could exist in a component (it's a map)\n // So flags are stored separately until the very end because of that reason\n this.flags = [];\n this.delimiter = ','; // {qualifier}{delimiter}{qualifier} for example: `${'w_100'}${','}${'c_fill'}`\n this.actionTag = ''; // A custom name tag to identify this action in the future\n }\n prepareQualifiers() { }\n /**\n * @description Returns the custom name tag that was given to this action\n * @return {string}\n */\n getActionTag() {\n return this.actionTag;\n }\n /**\n * @description Sets the custom name tag for this action\n * @return {this}\n */\n setActionTag(tag) {\n this.actionTag = tag;\n return this;\n }\n /**\n * @description Calls toString() on all child qualifiers (implicitly by using .join()).\n * @return {string}\n */\n toString() {\n this.prepareQualifiers();\n return mapToSortedArray(this.qualifiers, this.flags).join(this.delimiter);\n }\n /**\n * @description Adds the parameter to the action.\n * @param {SDK.Qualifier} qualifier\n * @return {this}\n */\n addQualifier(qualifier) {\n // if string, find the key and value\n if (typeof qualifier === 'string') {\n const [key, value] = qualifier.toLowerCase().split('_');\n if (key === 'fl') {\n // if string qualifier is a flag, store it in the flags arrays\n this.flags.push(new FlagQualifier(value));\n }\n else {\n // if the string qualifier is not a flag, create a new qualifier from it\n this.qualifiers.set(key, new Qualifier(key, value));\n }\n }\n else {\n // if a qualifier object, insert to the qualifiers map\n this.qualifiers.set(qualifier.key, qualifier);\n }\n return this;\n }\n /**\n * @description Adds a flag to the current action.\n * @param {Qualifiers.Flag} flag\n * @return {this}\n */\n addFlag(flag) {\n if (typeof flag === 'string') {\n this.flags.push(new FlagQualifier(flag));\n }\n else {\n if (flag instanceof FlagQualifier) {\n this.flags.push(flag);\n }\n }\n return this;\n }\n addValueToQualifier(qualifierKey, qualifierValue) {\n this.qualifiers.get(qualifierKey).addValue(qualifierValue);\n return this;\n }\n}\n\n/**\n * @memberOf Qualifiers.Region\n */\nclass NamedRegion extends Action {\n constructor(type) {\n super();\n this.regionType = type;\n this._actionModel.regionType = type;\n }\n}\n\n/**\n * @memberOf Qualifiers.Region\n */\nclass CustomRegion extends NamedRegion {\n constructor() {\n super('custom');\n }\n /**\n * @description The x position in pixels.\n * @param {number | string} x\n */\n x(x) {\n this._actionModel.x = x;\n this.addQualifier(new Qualifier('x', x));\n return this;\n }\n /**\n * @description The y position in pixels.\n * @param {number | string} y\n */\n y(y) {\n this._actionModel.y = y;\n this.addQualifier(new Qualifier('y', y));\n return this;\n }\n /**\n * @description The width of the region in pixels.\n * @param {number | string} width\n */\n width(width) {\n this._actionModel.width = width;\n this.addQualifier(new Qualifier('w', width));\n return this;\n }\n /**\n * @description The height of the region in pixels.\n * @param {number | string} height\n */\n height(height) {\n this._actionModel.height = height;\n this.addQualifier(new Qualifier('h', height));\n return this;\n }\n static fromJson(model) {\n const customRegion = new CustomRegion();\n if (model.width) {\n customRegion.width(model.width);\n }\n if (model.height) {\n customRegion.height(model.height);\n }\n if (model.x) {\n customRegion.x(model.x);\n }\n if (model.y) {\n customRegion.y(model.y);\n }\n return customRegion;\n }\n}\n\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Region\n * @return {Qualifiers.Region.CustomRegion}\n */\nfunction custom() {\n return new CustomRegion();\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Region\n * @return {Qualifiers.Region.NamedRegion}\n */\nfunction faces() {\n return new NamedRegion(\"faces\");\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Region\n * @return {Qualifiers.Region.NamedRegion}\n */\nfunction ocr$1() {\n return new NamedRegion(\"ocr_text\");\n}\n\n/**\n * @description The Action class of the blur Builder.\n * @extends SDK.Action\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass BlurAction extends Action {\n constructor(strength) {\n super();\n this._actionModel = {};\n this._strength = strength;\n this._actionModel.actionType = 'blur';\n this._actionModel.strength = strength;\n }\n /**\n * @description Specifies the region to blur.\n * @param {NamedRegion} blurRegion\n */\n region(blurRegion) {\n this._region = blurRegion;\n this._actionModel.region = blurRegion.toJson();\n return this;\n }\n /**\n * @description Sets the strength of the blur effect.\n * @param {number | string} strength\n */\n strength(strength) {\n this._strength = strength;\n this._actionModel.strength = strength;\n return this;\n }\n prepareQualifiers() {\n /*\n * Blur with region is a unique object in this codebase.\n * On top of Blur being an Action with Qualifiers,\n * it also accepts a Qualifier called Region.\n *\n * This Qualifier is in itself composite of qualifiers (such as height, or width).\n * The existence of Region changes the output of Blur in non traditional ways\n * which forced this relatively ad-hoc implementation.\n *\n * Aside from all of that, all of the Qualifiers in the component should be alphabetized\n * This happens naturally in the Action class,\n * however since we're dealing with two levels of qualifiers (Blur and Region),\n * these need to be merged.\n *\n * This function will merge the Region qualifiers with Blur\n * and add all needed implicit qualifiers (like g_ocr_text).\n * We're not using the full Gravity Qualifier here to prevent the code import for such a simplistic case\n */\n const strength = this._strength ? `:${this._strength}` : '';\n if ('_region' in this) {\n const qualifiers = this._region.qualifiers;\n // Copy qualifiers from the region \"action\" to the blur action\n qualifiers.forEach((q) => this.addQualifier(q));\n if (this._region.regionType === 'custom') {\n this.addQualifier(new Qualifier('e', `blur_region${strength}`));\n }\n if (this._region.regionType === 'ocr_text') {\n this.addQualifier(new Qualifier('e', `blur_region${strength}`));\n this.addQualifier(new Qualifier('g', `ocr_text`));\n }\n if (this._region.regionType === 'faces') {\n this.addQualifier(new Qualifier('e', `blur_faces${strength}`));\n }\n }\n else {\n this.addQualifier(new Qualifier('e', `blur${strength}`));\n }\n }\n static fromJson(actionModel) {\n const { strength, region } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(strength);\n strength && result.strength(strength);\n if (region && region.regionType === 'faces') {\n result.region(faces());\n }\n if (region && region.regionType === 'ocr_text') {\n result.region(ocr$1());\n }\n if (region && region.regionType === 'custom') {\n result.region(CustomRegion.fromJson(region));\n }\n return result;\n }\n}\n\n/**\n * Flip keys and values for given object\n * @param obj\n */\nfunction objectFlip(obj) {\n const result = {};\n Object.keys(obj).forEach((key) => {\n result[obj[key]] = key;\n });\n return result;\n}\n\n/**\n * This file is for internal constants only.\n * It is not intended for public use and is not part of the public API\n */\nconst ACTION_TYPE_TO_CROP_MODE_MAP = {\n limitFit: 'limit',\n limitFill: 'lfill',\n minimumFit: 'mfit',\n thumbnail: 'thumb',\n limitPad: 'lpad',\n minimumPad: 'mpad',\n autoPad: 'auto_pad'\n};\nconst ACTION_TYPE_TO_DELIVERY_MODE_MAP = {\n colorSpace: 'cs',\n dpr: 'dpr',\n density: 'dn',\n defaultImage: 'd',\n format: 'f',\n quality: 'q'\n};\nconst ACTION_TYPE_TO_EFFECT_MODE_MAP = {\n redEye: 'redeye',\n advancedRedEye: 'adv_redeye',\n oilPaint: 'oil_paint',\n unsharpMask: 'unsharp_mask',\n makeTransparent: 'make_transparent',\n generativeRestore: 'gen_restore',\n upscale: 'upscale'\n};\nconst ACTION_TYPE_TO_QUALITY_MODE_MAP = {\n autoBest: 'auto:best',\n autoEco: 'auto:eco',\n autoGood: 'auto:good',\n autoLow: 'auto:low',\n jpegminiHigh: 'jpegmini:1',\n jpegminiMedium: 'jpegmini:2',\n jpegminiBest: 'jpegmini:0'\n};\nconst ACTION_TYPE_TO_STREAMING_PROFILE_MODE_MAP = {\n fullHd: 'full_hd',\n fullHdWifi: 'full_hd_wifi',\n fullHdLean: 'full_hd_lean',\n hdLean: 'hd_lean'\n};\nconst CHROMA_VALUE_TO_CHROMA_MODEL_ENUM = {\n 444: \"CHROMA_444\",\n 420: \"CHROMA_420\"\n};\nconst COLOR_SPACE_MODEL_MODE_TO_COLOR_SPACE_MODE_MAP = {\n 'noCmyk': 'no_cmyk',\n 'keepCmyk': 'keep_cmyk',\n 'tinySrgb': 'tinysrgb',\n 'srgbTrueColor': 'srgb:truecolor'\n};\nconst CHROMA_MODEL_ENUM_TO_CHROMA_VALUE = objectFlip(CHROMA_VALUE_TO_CHROMA_MODEL_ENUM);\nobjectFlip(COLOR_SPACE_MODEL_MODE_TO_COLOR_SPACE_MODE_MAP);\nconst CROP_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_CROP_MODE_MAP);\nconst DELIVERY_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_DELIVERY_MODE_MAP);\nconst EFFECT_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_EFFECT_MODE_MAP);\nobjectFlip(ACTION_TYPE_TO_QUALITY_MODE_MAP);\nobjectFlip(ACTION_TYPE_TO_STREAMING_PROFILE_MODE_MAP);\n\n/**\n * @description A class that defines a simple effect of the type e_{effectName}\n * @extends SDK.Action\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass SimpleEffectAction extends Action {\n constructor(effectType, level) {\n super();\n this._actionModel = {};\n this._actionModel.actionType = EFFECT_MODE_TO_ACTION_TYPE_MAP[effectType] || effectType;\n const qualifierEffect = this.createEffectQualifier(effectType, level);\n this.addQualifier(qualifierEffect);\n }\n createEffectQualifier(effectType, level) {\n let qualifierValue;\n if (level) {\n qualifierValue = new QualifierValue([effectType, `${level}`]).setDelimiter(':');\n }\n else {\n qualifierValue = new QualifierValue(effectType);\n }\n return new Qualifier('e', qualifierValue);\n }\n static fromJson(actionModel) {\n const { actionType, level, strength } = actionModel;\n const effectType = ACTION_TYPE_TO_EFFECT_MODE_MAP[actionType] || actionType;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n // @ts-ignore\n const result = new this(effectType, level ? level : strength);\n return result;\n }\n}\n\n/**\n * @description A base class for effects with a level, the extending class needs to implement a method that calls setLevel()\n * @extends {Actions.Effect.SimpleEffectAction}\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass LeveledEffectAction extends SimpleEffectAction {\n constructor(effectType, level) {\n super(effectType, level);\n this.LEVEL_NAME = 'level';\n this._actionModel = {};\n this.effectType = effectType;\n this._actionModel.actionType = EFFECT_MODE_TO_ACTION_TYPE_MAP[effectType] || effectType;\n if (level) {\n this.setLevel(level);\n }\n }\n /**\n *\n * @description Sets the effect level for the action\n * @param {string | number} level - The strength of the effect\n * @protected\n */\n setLevel(level) {\n this._actionModel[this.LEVEL_NAME] = level;\n const qualifierEffect = this.createEffectQualifier(this.effectType, level);\n this.addQualifier(qualifierEffect);\n return this;\n }\n}\n\n/**\n * Returns RGB or Color\n * @private\n * @param color\n */\nfunction prepareColor(color) {\n if (color) {\n return color.match(/^#/) ? `rgb:${color.substr(1)}` : color;\n }\n else {\n return color;\n }\n}\n\n/**\n * @description Vectorizes the image.\n * @extends SDK.Action\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass VectorizeEffectAction extends Action {\n constructor() {\n super();\n this._actionModel = {};\n this._actionModel.actionType = 'vectorize';\n }\n /**\n * @description The number of colors. (Range: 2 to 30, Server default: 10)\n * @param {number | string} num\n * @return {this}\n */\n numOfColors(num) {\n this._actionModel.numOfColors = num;\n this._numOfColors = num;\n return this;\n }\n /**\n * @description The level of detail. Specify either a percentage of the original image (Range: 0.0 to 1.0) or an absolute number of pixels (Range: 0 to 1000). (Server default: 300)\n * @param {number | string} num\n * @return {this}\n */\n detailsLevel(num) {\n this._actionModel.detailLevel = num;\n this._detailsLevel = num;\n return this;\n }\n /**\n * @description The size of speckles to suppress. Specify either a percentage of the original image (Range: 0.0 to 1.0) or an absolute number of pixels (Range: 0 to 100, Server default: 2)\n * @param {number | string} num\n * @return {this}\n */\n despeckleLevel(num) {\n this._actionModel.despeckleLevel = num;\n this._despeckleLevel = num;\n return this;\n }\n /**\n * @description The corner threshold. Specify 100 for no smoothing (polygon corners), 0 for completely smooth corners. (Range: 0 to 100, Default: 25)\n * @param {number | string} num\n * @return {this}\n */\n cornersLevel(num) {\n this._actionModel.cornersLevel = num;\n this._cornersLevel = num;\n return this;\n }\n /**\n * @description The optimization value. Specify 100 for least optimization and the largest file. (Range: 0 to 100, Server default: 100).\n * @param {number} num\n * @return {this}\n */\n paths(num) {\n this._actionModel.paths = num;\n this._paths = num;\n return this;\n }\n prepareQualifiers() {\n let str = 'vectorize';\n if (this._numOfColors) {\n str += `:${new QualifierValue(`colors:${this._numOfColors}`).toString()}`;\n }\n if (this._detailsLevel) {\n str += `:${new QualifierValue(`detail:${this._detailsLevel}`).toString()}`;\n }\n if (this._despeckleLevel) {\n str += `:${new QualifierValue(`despeckle:${this._despeckleLevel}`).toString()}`;\n }\n if (this._paths) {\n str += `:${new QualifierValue(`paths:${this._paths}`).toString()}`;\n }\n if (this._cornersLevel) {\n str += `:${new QualifierValue(`corners:${this._cornersLevel}`).toString()}`;\n }\n this.addQualifier(new Qualifier('e', str));\n }\n static fromJson(actionModel) {\n const { actionType, paths, cornersLevel, despeckleLevel, detailLevel, numOfColors } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this();\n paths && result.paths(paths);\n cornersLevel && result.cornersLevel(cornersLevel);\n despeckleLevel && result.despeckleLevel(despeckleLevel);\n detailLevel && result.detailsLevel(detailLevel);\n numOfColors && result.numOfColors(numOfColors);\n return result;\n }\n}\n\n/**\n * @description A class that provides a built in level() method that sets the level of the effect\n * @extends {Actions.Effect.LeveledEffectAction}\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass EffectActionWithLevel extends LeveledEffectAction {\n level(value) {\n this._actionModel.level = value;\n return this.setLevel(value);\n }\n}\n\n/**\n * @description Applies stripes to the image to help people with common color-blind conditions to differentiate between colors that are similar for them.\n * You can replace colors using the xray() method.\n * @extends SDK.Action\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass AssistColorBlindEffectAction extends Action {\n constructor() {\n super();\n this._actionModel = {};\n this._actionModel.actionType = 'assistColorblind';\n this.addQualifier(new Qualifier('e', new QualifierValue('assist_colorblind')));\n }\n /**\n * @description Replaces problematic colors with colors that are easier to differentiate.\n * @return {this}\n */\n xray() {\n this._actionModel.type = 'xray';\n return this.addQualifier(new Qualifier('e', new QualifierValue(['assist_colorblind', 'xray']).setDelimiter(':')));\n }\n /**\n * @description Applies stripes of the specified intensity to help people with common color blind conditions to differentiate between colors that are similar for them.\n * @param {number | string} strength The intensity of the stripes. (Range: 1 to 100, Server default: 10)\n * @return {this}\n */\n stripesStrength(strength) {\n this._actionModel.type = 'stripes';\n this._actionModel.stripesStrength = strength;\n return this.addQualifier(new Qualifier('e', new QualifierValue(['assist_colorblind', strength]).setDelimiter(':')));\n }\n static fromJson(actionModel) {\n const { actionType, type, stripesStrength } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this();\n if (type === 'xray') {\n result.xray();\n }\n if (type === 'stripes') {\n stripesStrength && result.stripesStrength(stripesStrength);\n }\n return result;\n }\n}\n\n/**\n * @description Applies a colorizing filter to the asset, use the methods in the class to adjust the filter\n * @extends EffectActionWithLevel\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass ColorizeEffectAction extends EffectActionWithLevel {\n /**\n * @description The color to use for colorization. Specify HTML name or RGB hex code. (Server default: gray)\n * @param {string} color HTML name(red, green, etc.) or RGB hex code. (Server default: gray)\n * @return {this}\n */\n color(color) {\n this._actionModel.color = color;\n return this.addQualifier(new Qualifier('co', new QualifierValue(prepareColor(color))));\n }\n static fromJson(actionModel) {\n const { actionType, level, color } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(actionType, level);\n color && result.color(color);\n return result;\n }\n}\n\n/**\n * @description The Action class of the pixelate Builder\n * @extends SDK.Action\n * @memberOf Actions.Effect\n * @see Visit {@link Actions.Effect|Effect} for an example\n */\nclass Pixelate extends Action {\n constructor(squareSize) {\n super();\n this._actionModel = {};\n this._squareSize = squareSize;\n this._actionModel.actionType = 'pixelate';\n this._actionModel.squareSize = squareSize;\n }\n /**\n * @description Specifies the region to piexlate.\n * @param {NamedRegion} pixelateRegion\n */\n region(pixelateRegion) {\n this._region = pixelateRegion;\n this._actionModel.region = { regionType: this._region.regionType };\n return this;\n }\n /**\n * @description Sets the squareSize of the pixelate effect.\n * @param {number | string} squareSize\n */\n squareSize(squareSize) {\n this._squareSize = squareSize;\n this._actionModel.squareSize = squareSize;\n return this;\n }\n prepareQualifiers() {\n /*\n * pixelate with region is a unique object in this codebase.\n * On top of pixelate being an Action with Qualifiers,\n * it also accepts a Qualifier called Region.\n *\n * This Qualifier is in itself composite of qualifiers (such as height, or width).\n * The existence of Region changes the output of pixelate in non traditional ways\n * which forced this relatively ad-hoc implementation.\n *\n * Aside from all of that, all of the Qualifiers in the component should be alphabetized\n * This happens naturally in the Action class,\n * however since we're dealing with two levels of qualifiers (pixelate and Region),\n * these need to be merged.\n *\n * This function will merge the Region qualifiers with pixelate\n * and add all needed implicit qualifiers (like g_ocr_text).\n * We're not using the full Gravity Qualifier here to prevent the code import for such a simplistic case\n */\n const str = this._squareSize ? `:${this._squareSize}` : '';\n if ('_region' in this) {\n const qualifiers = this._region.qualifiers;\n // Copy qualifiers from the region \"action\" to the pixelate action\n qualifiers.forEach((q) => this.addQualifier(q));\n if (this._region.regionType === 'custom') {\n this.addQualifier(new Qualifier('e', `pixelate_region${str}`));\n }\n if (this._region.regionType === 'ocr_text') {\n this.addQualifier(new Qualifier('e', `pixelate_region${str}`));\n this.addQualifier(new Qualifier('g', `ocr_text`));\n }\n if (this._region.regionType === 'faces') {\n this.addQualifier(new Qualifier('e', `pixelate_faces${str}`));\n }\n }\n else {\n this.addQualifier(new Qualifier('e', `pixelate${str}`));\n }\n }\n static fromJson(actionModel) {\n const { region, squareSize } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(squareSize);\n squareSize && result.squareSize(squareSize);\n if (region && region.regionType === 'faces') {\n result.region(faces());\n }\n if (region && region.regionType === 'custom') {\n result.region(custom());\n }\n return result;\n }\n}\n\n/**\n * @summary action\n * @description Applies a blurring filter to the asset.\n * @memberOf Actions.Effect\n * @param {number} blurLevel The strength of the blur. (Range: 1 to 2000, Server default: 100)\n * @return {Actions.Effect.BlurAction}\n */\nfunction blur(blurLevel) {\n return new BlurAction(blurLevel);\n}\n/**\n * @summary action\n * @description Converts the image to gray-scale (multiple shades of gray).\n * @memberOf Actions.Effect\n * @return {Actions.Effect.SimpleEffectAction}\n */\nfunction grayscale() {\n return new SimpleEffectAction(\"grayscale\");\n}\n/**\n * @summary action\n * @description Applies a colorizing filter to the asset.\n * @memberOf Actions.Effect\n * @param {number} colorizeLevel The strength of the color. (Range: 0 to 100, Server default: 100)\n * @return {Actions.Effect.ColorizeEffectAction}\n */\nfunction colorize(colorizeLevel) {\n return new ColorizeEffectAction(\"colorize\", colorizeLevel);\n}\n/**\n * @summary action\n * @description\n * Vectorizes the image.\n * Notes:\n * To deliver the image as a vector image, make sure to change the format (or URL extension) to a vector format, such as SVG.</br>\n * However, you can also deliver in a raster format if you just want to get the 'vectorized' graphic effect.</br>\n * Large images are scaled down to 1000 pixels in the largest dimension before vectorization.\n *\n * @memberOf Actions.Effect\n * @return {Actions.Effect.VectorizeEffectAction}\n */\nfunction vectorize() {\n return new VectorizeEffectAction();\n}\n/**\n * @summary action\n * @description\n * Applies stripes to the image to help people with common color-blind conditions to differentiate between colors that are similar for them.</br>\n * You can replace colors using the xRay() method of the \\Cloudinary\\Transformation\\AssistColorBlind class.\n * @memberOf Actions.Effect\n * @return {Actions.Effect.AssistColorBlindEffectAction}\n */\nfunction assistColorBlind() {\n return new AssistColorBlindEffectAction();\n}\n/**\n * @summary action\n * @description Applies a pixelatering filter to the asset.\n * @memberOf Actions.Effect\n * @param {number} squareSize The squareSize in the pixelation. (Range: 1 to 2000, Server default: 100)\n * @return {Actions.Effect.Pixelate}\n */\nfunction pixelate(squareSize) {\n return new Pixelate(squareSize);\n}\n\n/**\n * @extends SDK.Action\n * @description A class for background transformations.\n */\nclass BackgroundColor extends Action {\n constructor(color) {\n super();\n this._actionModel = {};\n this.addQualifier(new Qualifier('b', new QualifierValue(prepareColor(color)).setDelimiter('_')));\n this._actionModel.color = color;\n this._actionModel.actionType = 'backgroundColor';\n }\n static fromJson(actionModel) {\n const { color } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(color);\n return result;\n }\n}\n\n/**\n * @summary SDK\n * @memberOf SDK\n * @description Defines an action that's a string literal, no validations or manipulations are performed\n */\nclass RawAction {\n constructor(raw) {\n this.raw = raw;\n }\n toString() {\n return this.raw;\n }\n toJson() {\n return { error: createUnsupportedError(`unsupported action ${this.constructor.name}`) };\n }\n}\n\n/**\n * Validates obj is an instance of IErrorObject\n * @param obj\n */\nfunction isErrorObject(obj) {\n const errorObj = obj;\n return ('error' in errorObj) && !!errorObj.error;\n}\n\n/**\n * @description Defines flags that you can use to alter the default transformation behavior.\n * @namespace Flag\n * @memberOf Qualifiers\n */\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description * Allows specifying only either width or height so the value of the second axis remains as is, and is not\n * recalculated to maintain the aspect ratio of the original image.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction ignoreInitialAspectRatio() {\n return new FlagQualifier('ignore_aspect_ratio');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Automatically use lossy compression when delivering animated GIF files.\n *\n * This flag can also be used as a conditional flag for delivering PNG files: it tells Cloudinary to deliver the\n * image in PNG format (as requested) unless there is no transparency channel - in which case deliver in JPEG\n * format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction lossy() {\n return new FlagQualifier('lossy');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description When used with automatic fetch_format (f_auto): ensures that images with a transparency channel will be\n * delivered in PNG format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction preserveTransparency() {\n return new FlagQualifier('preserve_transparency');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Generates a JPG image using the progressive (interlaced) JPG format.\n *\n * This format allows the browser to quickly show a low-quality rendering of the image until the full-quality\n * image is loaded.\n *\n * @param {string} mode? The mode to determine a specific progressive outcome as follows:\n * * semi - A smart optimization of the decoding time, compression level and progressive rendering\n * (less iterations). This is the default mode when using q_auto.\n * * steep - Delivers a preview very quickly, and in a single later phase improves the image to\n * the required resolution.\n * * none - Use this to deliver a non-progressive image. This is the default mode when setting\n * a specific value for quality.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction progressive(mode) {\n return new FlagQualifier('progressive', mode);\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the overlaid region\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction regionRelative() {\n return new FlagQualifier('region_relative');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the containing image instead of the added layer.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction relative() {\n return new FlagQualifier('relative');\n}\n\n/**\n * @memberOf Qualifiers.Format\n * @extends {SDK.QualifierValue}\n */\nclass FormatQualifier extends QualifierValue {\n constructor(val) {\n super(val);\n this.val = val;\n }\n getValue() {\n return this.val;\n }\n}\n\n/**\n * @description Qualifies the delivery of an asset.\n * @memberOf Actions.Delivery\n * @extends SDK.Action\n */\nclass DeliveryAction extends Action {\n /**\n * @param {string} deliveryKey A generic Delivery Action Key (such as q, f, dn, etc.)\n * @param {string} deliveryType A Format Qualifiers for the action, such as Quality.auto()\n * @param {string} modelProperty internal model property of the action, for example quality uses `level` while dpr uses `density`\n * @see Visit {@link Actions.Delivery|Delivery} for an example\n */\n constructor(deliveryKey, deliveryType, modelProperty) {\n super();\n this._actionModel = {};\n let deliveryTypeValue;\n if (deliveryType instanceof FormatQualifier) {\n deliveryTypeValue = deliveryType.getValue();\n }\n else {\n deliveryTypeValue = deliveryType;\n }\n this._actionModel.actionType = DELIVERY_MODE_TO_ACTION_TYPE_MAP[deliveryKey];\n this._actionModel[modelProperty] = deliveryTypeValue;\n this.addQualifier(new Qualifier(deliveryKey, deliveryType));\n }\n}\n\n/**\n * @description Contains functions to select the mode when using a progressive format.\n * <b>Learn more</b>: {@link https://cloudinary.com/documentation/transformation_reference#fl_progressive|Progressive modes}\n * @memberOf Qualifiers\n * @namespace Progressive\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {format} from \"@cloudinary/url-gen/actions/delivery\";\n * import {jpg} from \"@cloudinary/url-gen/qualifiers/format\";\n * import {steep} from \"@cloudinary/url-gen/qualifiers/progressive\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.delivery(format(jpg()).progressive(steep()))\n */\nclass ProgressiveQualifier extends FlagQualifier {\n constructor(mode) {\n super('progressive', mode);\n }\n}\n\n/**\n * @memberOf Actions.Delivery\n * @extends {Actions.Delivery.DeliveryAction}\n * @see Visit {@link Actions.Delivery|Delivery} for an example\n */\nclass DeliveryFormatAction extends DeliveryAction {\n constructor(deliveryKey, deliveryType) {\n super(deliveryKey, deliveryType, 'formatType');\n }\n /**\n * @description Uses lossy compression when delivering animated GIF files.\n * @return {this}\n */\n lossy() {\n this._actionModel.lossy = true;\n this.addFlag(lossy());\n return this;\n }\n /**\n * @description Uses progressive compression when delivering JPG file format.\n * @return {this}\n */\n progressive(mode) {\n if (mode instanceof ProgressiveQualifier) {\n this._actionModel.progressive = { mode: mode.getFlagValue() };\n this.addFlag(mode);\n }\n else {\n this._actionModel.progressive = { mode: mode };\n this.addFlag(progressive(mode));\n }\n return this;\n }\n /**\n * @description Ensures that images with a transparency channel are delivered in PNG format.\n */\n preserveTransparency() {\n this._actionModel.preserveTransparency = true;\n this.addFlag(preserveTransparency());\n return this;\n }\n static fromJson(actionModel) {\n const { formatType, lossy, progressive, preserveTransparency } = actionModel;\n let result;\n if (formatType) {\n result = new this('f', formatType);\n }\n else {\n result = new this('f');\n }\n if (progressive) {\n if (progressive.mode) {\n result.progressive(progressive.mode);\n }\n else {\n result.progressive();\n }\n }\n lossy && result.lossy();\n preserveTransparency && result.preserveTransparency();\n return result;\n }\n}\n\n/**\n * @summary SDK\n * @description - Defines how to transform an asset\n * @memberOf SDK\n */\nclass Transformation {\n constructor() {\n this.actions = [];\n }\n /**\n * @param {SDK.Action | string} action\n * @return {this}\n */\n addAction(action) {\n let actionToAdd;\n if (typeof action === 'string') {\n if (action.indexOf('/') >= 0) {\n throw 'addAction cannot accept a string with a forward slash in it - /, use .addTransformation() instead';\n }\n else {\n actionToAdd = new RawAction(action);\n }\n }\n else {\n actionToAdd = action;\n }\n this.actions.push(actionToAdd);\n return this;\n }\n /**\n * @description Allows the injection of a raw transformation as a string into the transformation, or a Transformation instance that was previously created\n * @param {string | SDK.Transformation} tx\n * @example\n * import {Transformation} from \"@cloudinary/url-gen\";\n *\n * const transformation = new Transformation();\n * transformation.addTransformation('w_100/w_200/w_300');\n * @return {this}\n */\n addTransformation(tx) {\n if (tx instanceof Transformation) {\n // Concat the new actions into the existing actions\n this.actions = this.actions.concat(tx.actions);\n }\n else {\n this.actions.push(new RawAction(tx));\n }\n return this;\n }\n /**\n * @return {string}\n */\n toString() {\n return this.actions\n .map((action) => {\n return action.toString();\n })\n .filter((a) => a)\n .join('/');\n }\n /**\n * @description Delivers an animated GIF.\n * @param {AnimatedAction} animatedAction\n * @return {this}\n */\n animated(animatedAction) {\n return this.addAction(animatedAction);\n }\n /**\n * @description Adds a border around the image.\n * @param {Border} borderAction\n * @return {this}\n */\n border(borderAction) {\n return this.addAction(borderAction);\n }\n /**\n * @description Adjusts the shape of the delivered image. </br>\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/effects_and_artistic_enhancements#distort|Shape changes and distortion effects}\n * @param {IReshape} reshapeAction\n * @return {this}\n */\n reshape(reshapeAction) {\n return this.addAction(reshapeAction);\n }\n /**\n * @description Resize the asset using provided resize action\n * @param {ResizeSimpleAction} resizeAction\n * @return {this}\n */\n resize(resizeAction) {\n return this.addAction(resizeAction);\n }\n /**\n * @desc An alias to Action Delivery.quality\n * @param {string|number} quality\n * @return {this}\n */\n quality(quality) {\n this.addAction(new DeliveryFormatAction('q', quality));\n return this;\n }\n /**\n * @desc An alias to Action Delivery.format\n * @param {string} format\n * @return {this}\n */\n format(format) {\n this.addAction(new DeliveryFormatAction('f', format));\n return this;\n }\n /**\n * @description Rounds the specified corners of an image.\n * @param roundCornersAction\n * @return {this}\n */\n roundCorners(roundCornersAction) {\n return this.addAction(roundCornersAction);\n }\n /**\n * @description Adds an overlay over the base image.\n * @param {LayerAction} overlayAction\n * @return {this}\n */\n overlay(overlayAction) {\n return this.addAction(overlayAction);\n }\n /**\n * @description Adds an underlay under the base image.\n * @param {LayerAction} underlayAction\n * @return {this}\n */\n underlay(underlayAction) {\n underlayAction.setLayerType('u');\n return this.addAction(underlayAction);\n }\n /**\n * @description Defines an new user variable.\n * @param {VariableAction} variableAction\n * @return {this}\n */\n addVariable(variableAction) {\n return this.addAction(variableAction);\n }\n /**\n * @description Specifies a condition to be met before applying a transformation.\n * @param {ConditionalAction} conditionAction\n * @return {this}\n */\n conditional(conditionAction) {\n return this.addAction(conditionAction);\n }\n /**\n * @description Applies a filter or an effect on an asset.\n * @param {SimpleEffectAction} effectAction\n * @return {this}\n */\n effect(effectAction) {\n return this.addAction(effectAction);\n }\n /**\n * @description Applies adjustment effect on an asset.\n * @param action\n * @return {this}\n */\n adjust(action) {\n return this.addAction(action);\n }\n /**\n * @description Rotates the asset by the given angle.\n * @param {RotateAction} rotateAction\n * @return {this}\n */\n rotate(rotateAction) {\n return this.addAction(rotateAction);\n }\n /**\n * @description Applies a pre-defined named transformation of the given name.\n * @param {NamedTransformation} namedTransformation\n * @return {this}\n */\n namedTransformation(namedTransformation) {\n return this.addAction(namedTransformation);\n }\n /**\n * @description Applies delivery action.\n * @param deliveryAction\n * @return {this}\n */\n delivery(deliveryAction) {\n return this.addAction(deliveryAction);\n }\n /**\n * @description Sets the color of the background.\n * @param {Qualifiers.Color} color\n * @return {this}\n */\n backgroundColor(color) {\n return this.addAction(new BackgroundColor(color));\n }\n /**\n * @description Adds a layer in a Photoshop document.\n * @param action\n * @return {this}\n */\n psdTools(action) {\n return this.addAction(action);\n }\n /**\n * @description Extracts an image or a page using an index, a range, or a name from a layered media asset.\n * @param action\n * @return {this}\n */\n extract(action) {\n return this.addAction(action);\n }\n /**\n * @description Adds a flag as a separate action.\n * @param {Qualifiers.Flag | string} flagQualifier\n * @return {this}\n */\n addFlag(flagQualifier) {\n const action = new Action();\n let flagToAdd = flagQualifier;\n if (typeof flagQualifier === 'string') {\n flagToAdd = new FlagQualifier(flagQualifier);\n }\n action.addQualifier(flagToAdd);\n return this.addAction(action);\n }\n /**\n * @description Inject a custom function into the image transformation pipeline.\n * @return {this}\n */\n customFunction(customFunction) {\n return this.addAction(customFunction);\n }\n /**\n * Transcodes the video (or audio) to another format.\n * @param {Action} action\n * @return {this}\n */\n transcode(action) {\n return this.addAction(action);\n }\n /**\n * Applies the specified video edit action.\n *\n * @param {videoEditType} action\n * @return {this}\n */\n videoEdit(action) {\n return this.addAction(action);\n }\n toJson() {\n const actions = [];\n for (const action of this.actions) {\n const json = action.toJson();\n if (isErrorObject(json)) {\n // Fail early and return an IErrorObject\n return json;\n }\n actions.push(json);\n }\n return { actions };\n }\n}\n\n/**\n * @description\n * Returns a string representing the float value of the input, if the input was a number-like.\n * Examples:\n * - '1.0' -> '1.0'\n * - 1 -> '1.0'\n * - '5' -> '5.0'\n * - 'auto' -> 'auto'\n * @private\n * @param {string|number} value\n * @return {string}\n */\nfunction toFloatAsString(value) {\n // Turn the input to string\n // The Function will return `returnValue` value if the input is not a number-like expression\n const returnValue = value.toString();\n // if the string contains letters, return the input\n if (returnValue.match(/[A-Z]/gi)) {\n return returnValue;\n }\n // If the leading digit is 0, and we have more than 1 digit, it's not a number.\n // 00, 00000, 0x15 etc.\n if (returnValue.length > 1 && returnValue[0] === '0') {\n return returnValue;\n }\n // Final sanity check, parse the number as a float and check if its NaN\n const isNumberLike = !isNaN(parseFloat(returnValue)) && returnValue.indexOf(':') === -1;\n // If it's a number-like, but the input does not contain a decimal - add it.\n if (isNumberLike && returnValue.indexOf('.') === -1) {\n return `${returnValue}.0`;\n }\n else {\n // If the input already contains a decimal, just return the value\n return returnValue;\n }\n}\n\n/**\n * @memberOf Qualifiers.AspectRatio\n * @extends {SDK.QualifierValue}\n */\nclass AspectRatioQualifierValue extends QualifierValue {\n}\n\n/**\n * @description Defines a resize using width and height.\n * @extends SDK.Action\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeSimpleAction extends Action {\n /**\n * @param {string} cropType\n * @param {number | string} cropWidth The required width of a transformed asset.\n * @param {number | string} cropHeight The required height of a transformed asset.\n */\n constructor(cropType, cropWidth, cropHeight) {\n super();\n this._actionModel = { dimensions: {} };\n this._actionModel.actionType = CROP_MODE_TO_ACTION_TYPE_MAP[cropType] || cropType;\n this.addQualifier(new Qualifier('c', cropType));\n cropWidth && this.width(cropWidth);\n cropHeight && this.height(cropHeight);\n }\n /**\n * @description Sets the height of the resize\n * @param {string | number} x The height in pixels (if an integer is specified) or as a percentage (if a float is specified).\n */\n height(x) {\n this._actionModel.dimensions.height = x;\n return this.addQualifier(new Qualifier('h', x));\n }\n /**\n * @description Sets the width of the resize\n * @param {string | number} x The width in pixels (if an integer is specified) or as a percentage (if a float is specified).\n */\n width(x) {\n this._actionModel.dimensions.width = x;\n return this.addQualifier(new Qualifier('w', x));\n }\n /**\n * @description Sets the aspect ratio of the asset.\n * For a list of supported types see {@link Qualifiers.AspectRatio|\n * AspectRatio values}\n * @param {AspectRatioType|number|string} ratio The new aspect ratio, specified as a percentage or ratio.\n * @return {this}\n */\n aspectRatio(ratio) {\n // toFloatAsString is used to ensure 1 turns into 1.0\n if (ratio instanceof AspectRatioQualifierValue) {\n this._actionModel.dimensions.aspectRatio = `${ratio}`;\n return this.addQualifier(new Qualifier('ar', ratio));\n }\n if (typeof ratio === 'number' || typeof ratio === 'string') {\n this._actionModel.dimensions.aspectRatio = toFloatAsString(ratio);\n return this.addQualifier(new Qualifier('ar', toFloatAsString(ratio)));\n }\n if (ratio instanceof FlagQualifier) {\n this._actionModel.dimensions.aspectRatio = `${ratio.qualifierValue}`;\n return this.addFlag(ratio);\n }\n }\n /**\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the containing image instead of the added layer.\n * @return {this}\n */\n relative() {\n this._actionModel.relative = true;\n return this.addFlag(relative());\n }\n /**\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the overlaid region\n * @return {this}\n */\n regionRelative() {\n this._actionModel.regionRelative = true;\n return this.addFlag(regionRelative());\n }\n static fromJson(actionModel) {\n const { actionType, dimensions, relative, regionRelative } = actionModel;\n const { aspectRatio, width, height } = dimensions;\n const cropMode = ACTION_TYPE_TO_CROP_MODE_MAP[actionType] || actionType;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(cropMode, width, height);\n aspectRatio && result.aspectRatio(aspectRatio === 'ignore_aspect_ratio' ? ignoreInitialAspectRatio() : aspectRatio);\n relative && result.relative();\n regionRelative && result.regionRelative();\n return result;\n }\n}\n\n/**\n * @memberOf Gravity.GravityQualifier\n * @extends {SDK.Qualifier}\n */\nclass GravityQualifier extends Qualifier {\n /**\n * @param value, an array containing (GravityObject | AutoGravity | string) or a string;\n */\n constructor(value) {\n super('g', new QualifierValue(value));\n }\n}\n\n/**\n * @description The class for the autoGravity builder\n * @memberOf Qualifiers.Gravity\n * @extends {Qualifiers.Gravity.GravityQualifier}\n */\nclass AutoGravity extends GravityQualifier {\n constructor() {\n // Required due to https://github.com/microsoft/TypeScript/issues/13029\n /* istanbul ignore next */\n super('auto');\n }\n /**\n * @description Autofocuses on objects, allowing their priority within the algorithm to be configured.\n * @param {AutoFocus} AutoFocusObjects\n */\n autoFocus(...AutoFocusObjects) {\n this.addValue(AutoFocusObjects);\n return this;\n }\n}\n\n/**\n * @description The class for the FocusOn builder\n * @memberOf Qualifiers.Gravity\n * @extends {Qualifiers.Gravity.GravityQualifier}\n */\nclass FocusOnGravity extends GravityQualifier {\n constructor(FocusOnObjects) {\n // Required due to https://github.com/microsoft/TypeScript/issues/13029\n /* istanbul ignore next */\n super(FocusOnObjects);\n }\n /**\n * @description Specifies the gravity to use if none of the other gravity objects are found.\n * @param {Qualifiers.Gravity.AutoGravity} val\n */\n fallbackGravity(val) {\n /*\n * FocusOnGravity(this) is already a qualifier, with a key and a value g_{obj1}\n * fallBackGravity also attempts to add a value, to reach the result of g_{obj1}:auto:{obj2}\n * Since AutoGravity is a Qualifier, it also comes with its own g_ key, which needs to be removed.\n * To solve it, we take only the value from the qualifier, instead of the whole thing\n */\n this.addValue(val.qualifierValue);\n return this;\n }\n}\n\n/**\n * @description The class for the CompassGravity builder\n * @memberOf Qualifiers.Gravity\n * @extends {Qualifiers.Gravity.GravityQualifier}\n */\nclass CompassGravity extends GravityQualifier {\n constructor(dir) {\n // Required due to https://github.com/microsoft/TypeScript/issues/13029\n /* istanbul ignore next */\n super(dir);\n }\n}\n\n/**\n * @description Defines the gravity based on directional values from a compass.\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/resizing_and_cropping#control_gravity|Control gravity for images}\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/video_resizing_and_cropping#control_gravity|Control gravity for videos}\n * @param {Qualifiers.Compass | string} direction A compass Values\n * @memberOf Qualifiers.Gravity\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {compass} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {north} from \"@cloudinary/url-gen/qualifiers/compass\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(compass(north())))\n * @return {CompassGravity}\n */\nfunction compass(direction) {\n return new CompassGravity(direction);\n}\n/**\n * @summary qualifier\n * @description Specifies what to focus on, for example: faces, objects, eyes, etc.\n * @param {...Qualifier.FocusOn} args One or more objects to focus on\n * @memberOf Qualifiers.Gravity\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {focusOn} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n * import {cat} from \"@cloudinary/url-gen/qualifiers/focusOn\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(focusOn(cat())))\n * @return {FocusOnGravity}\n */\nfunction focusOn(...args) {\n const res = [...args];\n return new FocusOnGravity(res);\n}\n/**\n * @summary qualifier\n * @description Automatically identifies the most interesting regions in the asset, can be qualified further by including what to focus on.\n * @memberOf Qualifiers.Gravity\n * @return {Qualifiers.Gravity.AutoGravity}\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {autoGravity} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(autoGravity()))\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {autoGravity} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n * import {cat} from \"@cloudinary/url-gen/qualifiers/focusOn\";\n * import {AutoFocus} from \"@cloudinary/url-gen/qualifiers/autoFocus\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(autoGravity().autoFocus(AutoFocus.focusOn(cat()))))\n */\nfunction autoGravity() {\n return new AutoGravity();\n}\n\n/**\n * @memberOf Qualifiers.FocusOn\n * @extends {SDK.QualifierValue}\n */\nclass FocusOnValue extends QualifierValue {\n constructor(name) {\n super();\n this.name = name;\n }\n toString() {\n return this.name;\n }\n}\n\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detect all text elements in an image using the {@link https://cloudinary.com/documentation/ocr_text_detection_and_extraction_addon|OCR Text Detection and Extraction add-on} and use the detected bounding box coordinates as the basis of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction ocr() {\n return new FocusOnValue('ocr_text');\n}\n\n/**\n * true if gravity starts with 'auto' or 'auto:'\n * @param gravity\n */\nfunction isIAutoGravityString(gravity) {\n return gravity && `${gravity}`.split(':')[0] === 'auto';\n}\n/**\n * Validate that given val is an ICompassGravity\n * @param gravity\n */\nfunction isCompassGravity(gravity) {\n //const gravityString = `${(typeof gravity === \"string\" ? gravity : gravity.qualifierValue)}`;\n const gravityValue = getGravityValue(gravity);\n return ['north', 'center', 'east', 'west', 'south', 'north_west', 'south_east', 'south_west', 'north_east'].includes(gravityValue);\n}\n/**\n * Get the value of given gravity\n * @param gravity\n */\nfunction getGravityValue(gravity) {\n return `${gravity}`.replace('g_', '');\n}\n/**\n * Creates a compassGravity model\n * @param gravity\n */\nfunction createCompassGravityModel(gravity) {\n return {\n compass: getGravityValue(gravity),\n gravityType: 'direction'\n };\n}\n/**\n * Validate that given gravity is an instance of ocr gravity\n * @param gravity\n */\nfunction isOcrGravity(gravity) {\n return getGravityValue(gravity) === 'ocr_text';\n}\n/**\n * Creates an ocr gravity model\n */\nfunction createOcrGravityModel() {\n return {\n gravityType: 'ocr'\n };\n}\n/**\n * Validate that given gravity is an instance of AutoGravity\n * @param gravity\n */\nfunction isAutoGravity(gravity) {\n return `${gravity.qualifierValue}`.split(':')[0] === 'auto';\n}\n/**\n * Create an instance of IAutoGravityObjectModel\n * @param gravity\n */\nfunction createIAutoFocusObject(gravity) {\n const gravityString = gravity.toString();\n const values = gravityString.split('_');\n const result = {\n object: values[0]\n };\n if (values.length > 1) {\n if (values[1] === 'avoid') {\n result.avoid = true;\n }\n else {\n result.weight = +values[1];\n }\n }\n return result;\n}\n/**\n * Creates an auto gravity model from given AutoGravity\n * @param gravity\n */\nfunction createAutoGravityModel(gravity) {\n let values;\n const gravityQualifier = gravity === 'auto' ? new AutoGravity() : gravity;\n if (`${gravity}`.startsWith('auto:')) {\n values = `${gravity}`.split(':').filter((v) => v !== 'auto');\n }\n else {\n values = gravityQualifier.qualifierValue.values.filter((v) => v !== 'auto');\n }\n const autoFocus = values.map(createIAutoFocusObject);\n return {\n gravityType: 'auto',\n autoFocus\n };\n}\n/**\n * Create IFocusOnGravityModel from FocusOnGravity\n * @param gravity\n */\nfunction createFocusOnGravityModel(gravity) {\n const hasAutoGravity = `${gravity}`.split(':').includes('auto');\n const values = gravity.qualifierValue.values;\n const focusOnValues = hasAutoGravity ? values.slice(0, values.length - 1) : values;\n const result = {\n gravityType: 'object',\n focusOnObjects: focusOnValues.map((v) => `${v}`)\n };\n if (hasAutoGravity) {\n // Remove the first 'auto' value by slicing it, because it's added by autoGravity()\n const autoFocusObjects = values[values.length - 1].values.slice(1);\n const autoGravityInstance = autoGravity().autoFocus(...autoFocusObjects);\n result.fallbackGravity = createAutoGravityModel(autoGravityInstance);\n }\n return result;\n}\n/**\n * Creates a FocusOnGravity from given string\n * @param gravity\n */\nfunction createFocusOnGravity(gravity) {\n const values = gravity.split(':');\n const focusOnValues = values.map((g) => new FocusOnValue(g));\n return new FocusOnGravity(focusOnValues);\n}\n/**\n * Create a model of given gravity\n * @param gravity\n */\nfunction createGravityModel(gravity) {\n if (isCompassGravity(gravity)) {\n return createCompassGravityModel(gravity);\n }\n if (isOcrGravity(gravity)) {\n return createOcrGravityModel();\n }\n if (isIAutoGravityString(gravity) || isAutoGravity(gravity)) {\n return createAutoGravityModel(gravity);\n }\n return createFocusOnGravityModel(typeof gravity === 'string' ? createFocusOnGravity(gravity) : gravity);\n}\n\n/**\n * @summary qualifier\n * @namespace AutoFocus\n * @memberOf Qualifiers\n * @see Visit {@link Qualifiers.Gravity|Gravity} for an example\n */\n/**\n * @memberOf Qualifiers.AutoFocus\n * @extends {SDK.QualifierValue}\n * @see Visit {@link Qualifiers.Gravity|Gravity} for an example\n */\nclass AutoFocus extends QualifierValue {\n constructor(focusOn, weight) {\n super();\n this._weight = weight;\n this.focusOn = focusOn;\n this.shouldAvoid = false;\n }\n /**\n * @summary qualifier\n * @description Specifies the object to focus on automatically\n * Accepts an AutoFocusObject (which is just a wrapper for a FocusOn object, but with extra method: avoid, weight)\n * @param {Qualifiers.FocusOn} obj The object to focus on.\n * @param {number} weight\n */\n static focusOn(obj, weight) {\n const focusOn = obj instanceof FocusOnValue ? obj : new FocusOnValue(obj);\n return new AutoFocus(focusOn, weight);\n }\n shouldAddWeight() {\n return typeof this._weight === 'number' || typeof this._weight === 'string' || this.shouldAvoid;\n }\n /**\n * @summary qualifier\n * @desc Get the name of the of the object\n */\n getName() {\n return this.focusOn.name;\n }\n /**\n * @summary qualifier\n * @desc Get the weight for the object\n */\n getWeight() {\n if (this.shouldAvoid) {\n return 'avoid';\n }\n else {\n return this._weight;\n }\n }\n /**\n * @summary qualifier\n * @desc Return the string representation of this QualifierValue\n */\n toString() {\n // Future proofing, in case we'd like to support some custom string in the future, or if data is coming from a DB\n if (this.shouldAddWeight()) {\n return `${this.getName()}_${this.getWeight()}`;\n }\n else {\n return `${this.getName()}`;\n }\n }\n /**\n * @summary qualifier\n * @description Sets the importance level of the object within the automatic gravity algorithm\n * @param {numebr} w The focus weight for the object\n * @return {this}\n */\n weight(w) {\n this._weight = w;\n return this;\n }\n /**\n * @summary qualifier\n * @description Attempts to avoid the detected object in the image\n * @return {this}\n */\n avoid() {\n this.shouldAvoid = true;\n return this;\n }\n}\n\n/**\n * @memberOf Qualifiers.Compass\n * @extends {SDK.QualifierValue}\n */\nclass CompassQualifier extends QualifierValue {\n constructor(val) {\n super();\n this.val = val;\n }\n toString() {\n return this.val;\n }\n}\n\n/**\n * Validates that gravityModel is an ICompassGravityModel\n * @param gravityModel\n */\nfunction isCompassGravityModel(gravityModel) {\n return gravityModel.gravityType === 'direction';\n}\n/**\n * Validates that gravityModel is an IOcrGravityModel\n * @param gravityModel\n */\nfunction isOcrGravityModel(gravityModel) {\n return gravityModel.gravityType === 'ocr';\n}\n/**\n * Validates that gravityModel is an IAutoGravityModel\n * @param gravityModel\n */\nfunction isAutoGravityModel(gravityModel) {\n return gravityModel.gravityType === 'auto';\n}\n/**\n * Create AutoFocus from IAutoGravityObjectModel\n * @param autoGravityObjectModel\n */\nfunction createAutoFocusFromModel(autoGravityObjectModel) {\n const { object, weight, avoid } = autoGravityObjectModel;\n const autoFocus = new AutoFocus(new FocusOnValue(object));\n (weight || weight === 0) && autoFocus.weight(weight);\n avoid && autoFocus.avoid();\n return autoFocus;\n}\n/**\n * Create AutoGravity from IAutoGravityModel\n * @param gravityModel\n */\nfunction createAutoGravityFromModel(gravityModel) {\n const autoFocusModel = gravityModel.autoFocus || [];\n const autoFocus = autoFocusModel.map(createAutoFocusFromModel);\n return autoGravity().autoFocus(...autoFocus);\n}\n/**\n * Create FocusOnGravity from given IFocusOnGravityModel\n * @param gravityModel\n */\nfunction createFocusOnGravityFromModel(gravityModel) {\n const focusOnObjects = (gravityModel.focusOnObjects || []).map((str) => new FocusOnValue(str));\n const result = focusOn(...focusOnObjects);\n if (gravityModel.fallbackGravity) {\n const autoGravity = createAutoGravityFromModel(gravityModel.fallbackGravity);\n result.fallbackGravity(autoGravity);\n }\n return result;\n}\n/**\n * Create gravity instance from given gravity model\n * @param gravityModel\n */\nfunction createGravityFromModel(gravityModel) {\n if (isCompassGravityModel(gravityModel)) {\n return new CompassGravity(new CompassQualifier(gravityModel.compass));\n }\n if (isOcrGravityModel(gravityModel)) {\n return focusOn(ocr());\n }\n if (isAutoGravityModel(gravityModel)) {\n return createAutoGravityFromModel(gravityModel);\n }\n return createFocusOnGravityFromModel(gravityModel);\n}\n\n/**\n * @description Defines an advanced resize.\n * @extends Actions.Resize.ResizeSimpleAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeAdvancedAction extends ResizeSimpleAction {\n /**\n * @description Which part of the original image to include.\n * @param {Qualifiers.Gravity} gravity\n */\n gravity(gravity) {\n this._actionModel.gravity = createGravityModel(gravity);\n const gravityQualifier = typeof gravity === \"string\" ? new Qualifier('g', gravity) : gravity;\n return this.addQualifier(gravityQualifier);\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n if (actionModel.gravity) {\n result.gravity(createGravityFromModel(actionModel.gravity));\n }\n return result;\n }\n}\n\n/**\n * @description Defines the visual appearance of the background.\n * @memberOf Qualifiers.Background\n * @extends {SDK.Qualifier}\n */\nclass BackgroundQualifier extends Qualifier {\n constructor(backgroundValue) {\n // The qualifier key for this qualifier\n super('b');\n // Such as color (b_red)\n if (backgroundValue) {\n this.addValue(backgroundValue);\n }\n }\n}\n\nconst DEFAULT_INTENSITY = 100;\nconst DEFAULT_BRIGHTNESS = 0;\n/**\n * @description A class for blurred background transformations.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BackgroundQualifier}\n */\nclass BlurredBackgroundAction extends BackgroundQualifier {\n /**\n * @description Sets the intensity of the blur.\n * @param {number} value - The intensity of the blur.\n */\n intensity(value) {\n this.intensityLevel = value;\n return this;\n }\n /**\n * @description Sets the brightness of the background.\n * @param {number} value - The brightness of the background.\n */\n brightness(value) {\n this.brightnessLevel = value;\n return this;\n }\n /**\n * @description\n * Stringify the qualifier\n * BackgroundQualifiers don't have a value, but instead override the toString() function\n */\n toString() {\n // b_blurred:{intensity}:{brightness}\n const intensity = this.intensityLevel !== undefined ? `:${this.intensityLevel}` : '';\n const brightness = this.brightnessLevel !== undefined\n ? this.intensityLevel !== undefined\n ? `:${this.brightnessLevel}`\n : `:${DEFAULT_INTENSITY}:${this.brightnessLevel}`\n : '';\n return `b_blurred${intensity}${brightness}`;\n }\n}\nvar BlurredBackgroundAction$1 = BlurredBackgroundAction;\n\n/**\n * @description Defines the background color to use when resizing with padding.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BackgroundQualifier}\n */\nclass BaseCommonBackground extends BackgroundQualifier {\n constructor() {\n super();\n this._palette = [];\n }\n /**\n * @description Selects the strongest contrasting color to use for padding.\n * @return {this}\n */\n contrast() {\n this._contrast = true;\n return this;\n }\n /**\n * @description Defines the custom colors to use when resizing using content-aware padding.\n * @param {...string} colors One or more colors - Example: palette('green', 'red', blue')\n * @return {this}\n */\n palette(...colors) {\n this._palette = colors.map((color) => {\n return prepareColor(color);\n });\n return this;\n }\n}\n\n/**\n * @description Automatically determines the color to use for padding, if needed when resizing an asset. Selects the\n * predominant color from the border of the image.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BaseCommonBackground}\n */\nclass BackgroundAutoBorderQualifier extends BaseCommonBackground {\n /**\n * @description\n * Stringify the qualifier\n * BackgroundQualifiers don't have a value, but instead override the toString() function.\n */\n toString() {\n return `\n b_auto:border\n ${this._contrast ? '_contrast' : ''}\n ${this._palette.length ? `:palette_${this._palette.join('_')}` : ''}\n `.replace(/\\s+/g, '');\n }\n}\n\n/**\n * @description Defines the gradient fade effect to use for the background when resizing with padding.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BaseCommonBackground}\n */\nclass BaseGradientBackground extends BaseCommonBackground {\n /**\n *\n * @description Sets the number of predominant colors to use (2 or 4).\n * @param {number} num\n * @return {this}\n */\n gradientColors(num) {\n this._gradientColors = num;\n return this;\n }\n /**\n * @description Sets the direction for a background gradient fade effect.\n * @param {Qualifiers.GradientDirection | GradientDirectionType | string} direction Use one of these functions\n * provided by {@link Qualifiers.GradientDirection|GradientDirection}\n * @return {this}\n */\n gradientDirection(direction) {\n this._gradientDirection = direction;\n return this;\n }\n}\n\n/**\n * @description Specifies that the gradient fade effect, used for the background when resizing with padding, uses the\n * predominant colors in the border pixels of the image.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BaseGradientBackground}\n */\nclass BackgroundBorderGradientQualifier extends BaseGradientBackground {\n /**\n * @description\n * Stringify the qualifier\n * BackgroundQualifiers don't have a value, but instead override the toString() function.\n */\n toString() {\n return `\n b_auto:border_gradient\n ${this._contrast ? '_contrast' : ''}\n ${this._gradientColors ? `:${this._gradientColors}` : ''}\n ${this._gradientDirection ? `:${this._gradientDirection}` : ''}\n ${this._palette.length ? `:palette_${this._palette.join('_')}` : ''}\n `.replace(/\\s+/g, '');\n }\n}\n\n/**\n * @description Specifies that the gradient fade effect, used for the background when resizing with padding, uses the\n * predominant colors in the whole of the image.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BaseGradientBackground}\n */\nclass BackgroundPredominantGradientQualifier extends BaseGradientBackground {\n /**\n * @description\n * Stringify the qualifier\n * BackgroundQualifiers don't have a value, but instead override the toString() function.\n */\n toString() {\n return `\n b_auto:predominant_gradient\n ${this._contrast ? '_contrast' : ''}\n ${this._gradientColors ? `:${this._gradientColors}` : ''}\n ${this._gradientDirection ? `:${this._gradientDirection}` : ''}\n ${this._palette.length ? `:palette_${this._palette.join('_')}` : ''}\n `.replace(/\\s+/g, '');\n }\n}\n\n/**\n * @description Automatically determines the color to use for padding, if needed when resizing an asset. Selects the\n * predominant color from the whole image.\n * @memberOf Qualifiers.Background\n * @extends {Qualifiers.Background.BaseCommonBackground}\n */\nclass BackgroundAutoPredominantQualifier extends BaseCommonBackground {\n /**\n * @description\n * Stringify the qualifier\n * BackgroundQualifiers don't have a value, but instead override the toString() function.\n */\n toString() {\n return `\n b_auto:predominant\n ${this._contrast ? '_contrast' : ''}\n ${this._palette.length ? `:palette_${this._palette.join('_')}` : ''}\n `.replace(/\\s+/g, '');\n }\n}\n\n/**\n * @description Automatically fills the padded area using generative AI to extend the image seamlessly.\n * Optionally include a prompt to guide the image generation.\n * @memberOf Qualifiers.Background\n */\nclass BackgroundGenerativeFillQualifier extends BackgroundQualifier {\n constructor() {\n super(\"gen_fill\");\n this._backgroundType = 'generativeFill';\n }\n prompt(prompt) {\n this._prompt = prompt;\n return this;\n }\n getPrompt() {\n return this._prompt;\n }\n getBackgroundType() {\n return this._backgroundType;\n }\n /**\n * @description\n * Override the toString() function to explicitly stringify the qualifier.\n */\n toString() {\n return `b_gen_fill${this._prompt ? `:prompt_${this._prompt}` : ''}`;\n }\n}\n\n/**\n * Get the value of given background\n * @param background\n */\nfunction getBackgroundValue(background) {\n return `${background}`.replace('b_', '');\n}\n/**\n * Create an IAutoBackgroundModel from given background\n */\nfunction createAutoBackgroundModel() {\n return { backgroundType: 'auto' };\n}\n/**\n * Create an IBlurredBackgroundModel from given background\n * @param background\n */\nfunction createBlurredBackgroundModel(background) {\n const { intensityLevel, brightnessLevel } = background;\n const result = {\n backgroundType: 'blurred'\n };\n if (intensityLevel || intensityLevel === 0) {\n result.intensity = intensityLevel;\n }\n if (brightnessLevel || brightnessLevel === 0) {\n result.brightness = brightnessLevel;\n }\n return result;\n}\n/**\n * Create an IContrastPaletteBackgroundModel from given background\n * @param background\n */\nfunction createContrastPaletteBackgroundModel(background) {\n const contrast = background._contrast;\n const palette = background._palette;\n const result = {\n backgroundType: ''\n };\n if (contrast) {\n result.contrast = true;\n }\n if (palette) {\n result.palette = palette;\n }\n return result;\n}\n/**\n * Create an IBorderBackgroundModel from given background\n * @param background\n */\nfunction createBorderBackgroundModel(background) {\n return Object.assign(Object.assign({}, createContrastPaletteBackgroundModel(background)), { backgroundType: 'border' });\n}\n/**\n * Create an IBaseGradientBackgroundModel from given background\n * @param background\n */\nfunction createBaseGradientBackgroundModel(background) {\n const gradientColors = background._gradientColors;\n const gradientDirection = `${background._gradientDirection}`;\n const result = createContrastPaletteBackgroundModel(background);\n if (gradientColors) {\n result.gradientColors = gradientColors;\n }\n if (gradientDirection) {\n result.gradientDirection = gradientDirection;\n }\n return result;\n}\n/**\n * Create an IBorderGradientBackgroundModel from given background\n * @param background\n */\nfunction createBorderGradientBackgroundModel(background) {\n return Object.assign(Object.assign({}, createBaseGradientBackgroundModel(background)), { backgroundType: 'borderGradient' });\n}\n/**\n * Create an IColorBackgroundModel from given background\n * @param background\n */\nfunction createColorBackgroundModel(background) {\n return {\n backgroundType: 'color',\n color: getBackgroundValue(background)\n };\n}\n/**\n * Create an IPredominantBackgroundModel from given background\n * @param background\n */\nfunction createPredominantBackgroundModel(background) {\n return Object.assign(Object.assign({}, createContrastPaletteBackgroundModel(background)), { backgroundType: 'predominant' });\n}\n/**\n * Create an IPredominantGradientBackgroundModel from given background\n * @param background\n */\nfunction createPredominantGradientBackgroundModel(background) {\n return Object.assign(Object.assign({}, createBaseGradientBackgroundModel(background)), { backgroundType: 'predominantGradient' });\n}\n/**\n * Create an IGenerativeFillBackgroundModel from given background\n * @param urlValue\n */\nfunction createGenerativeFillBackgroundModel(background) {\n return Object.assign({ backgroundType: background.getBackgroundType() }, (background.getPrompt() ? { prompt: background.getPrompt() } : {}));\n}\n/**\n * Create an IBackgroundModel from given background\n * @param background\n */\nfunction createBackgroundModel(background) {\n if (getBackgroundValue(background) === 'auto') {\n return createAutoBackgroundModel();\n }\n if (background instanceof BlurredBackgroundAction$1) {\n return createBlurredBackgroundModel(background);\n }\n if (background instanceof BackgroundAutoBorderQualifier) {\n return createBorderBackgroundModel(background);\n }\n if (background instanceof BackgroundBorderGradientQualifier) {\n return createBorderGradientBackgroundModel(background);\n }\n if (background instanceof BackgroundAutoPredominantQualifier) {\n return createPredominantBackgroundModel(background);\n }\n if (background instanceof BackgroundPredominantGradientQualifier) {\n return createPredominantGradientBackgroundModel(background);\n }\n if (background instanceof BackgroundGenerativeFillQualifier) {\n return createGenerativeFillBackgroundModel(background);\n }\n return createColorBackgroundModel(background);\n}\n\n/**\n * @summary qualifier\n * @description Image format svg.\n * @memberOf Qualifiers.Format\n * @return {Qualifiers.Format.FormatQualifier}\n */\nfunction svg() { return new FormatQualifier('svg'); }\n/**\n * @summary qualifier\n * @description Image format auto.\n * @memberOf Qualifiers.Format\n * @return {Qualifiers.Format.FormatQualifier}\n */\nfunction auto$1() { return new FormatQualifier('auto'); }\n\n/**\n * @description Defines the background color to use instead of transparent background areas or when resizing with padding.\n *\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/effects_and_artistic_enhancements#setting_background_color|Setting background for images} | {@link https://cloudinary.com/documentation/video_effects_and_enhancements#background_color|Setting background for videos}\n *\n * @namespace Background\n * @memberOf Qualifiers\n */\n/**\n * @summary qualifier\n * @description Selects the predominant color while taking only the image border pixels into account.\n * @memberOf Qualifiers.Background\n * @return {BackgroundAutoBorderQualifier}\n */\nfunction border() {\n return new BackgroundAutoBorderQualifier();\n}\n/**\n * @summary qualifier\n * @description Automatically determines the color to use for padding, if needed when resizing an asset.\n *\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/effects_and_artistic_enhancements#content_aware_padding|Content-aware padding}\n * @memberOf Qualifiers.Background\n * @return {Qualifiers.Background.BackgroundQualifier}\n */\nfunction auto() {\n return new BackgroundQualifier('auto');\n}\n/**\n * @summary qualifier\n * @description Applies a padding gradient fade effect using the predominant colors in the border of the image.\n * @memberOf Qualifiers.Background\n * @return {BackgroundBorderGradientQualifier}\n */\nfunction borderGradient() {\n return new BackgroundBorderGradientQualifier();\n}\n/**\n * @summary qualifier\n * @description Applies a padding gradient fade effect using the predominant colors in the image.\n * @memberOf Qualifiers.Background\n * @return {BackgroundPredominantGradientQualifier}\n */\nfunction predominantGradient() {\n return new BackgroundPredominantGradientQualifier();\n}\n/**\n * @summary qualifier\n * @description Selects the predominant color while taking all pixels in the image into account\n * @memberOf Qualifiers.Background\n * @return {BackgroundAutoPredominantQualifier}\n */\nfunction predominant() {\n return new BackgroundAutoPredominantQualifier();\n}\n/**\n * @summary qualifier\n * @description Selects the predominant color while taking all pixels in the image into account.\n * @memberOf Qualifiers.Background\n * @return {Qualifiers.Background.BackgroundQualifier}\n */\nfunction color(colorStr) {\n return new BackgroundQualifier(prepareColor(colorStr));\n}\n/**\n * @summary qualifier\n * @description Selects the predominant color while taking all pixels in the image into account.\n * @memberOf Qualifiers.Background\n * @return {BlurredBackgroundAction}\n */\nfunction blurred() {\n return new BlurredBackgroundAction$1();\n}\n/**\n * @summary qualifier\n * @description A qualifier that automatically fills the padded area using generative AI to extend the image seamlessly.\n * @memberOf Qualifiers.Background\n * @return {BackgroundGenerativeFillQualifier}\n */\nfunction generativeFill() {\n return new BackgroundGenerativeFillQualifier();\n}\nconst Background = {\n auto,\n border,\n borderGradient,\n predominantGradient,\n predominant,\n color,\n blurred,\n generativeFill\n};\n\n/**\n * Create BackgroundQualifier from IBlurredBackgroundModel\n * @param backgroundModel\n */\nfunction createBlurredBackground(backgroundModel) {\n const { brightness, intensity } = backgroundModel;\n const result = Background.blurred();\n result.brightness(brightness !== null && brightness !== void 0 ? brightness : DEFAULT_BRIGHTNESS);\n result.intensity(intensity !== null && intensity !== void 0 ? intensity : DEFAULT_INTENSITY);\n return result;\n}\n/**\n * Create a gradientBackground from given model\n * @param background\n * @param backgroundModel\n */\nfunction createGradientBackground(background, backgroundModel) {\n const { gradientColors, gradientDirection, contrast, palette } = backgroundModel;\n if (contrast) {\n background.contrast();\n }\n if (palette) {\n background.palette(...palette);\n }\n if (gradientColors) {\n background.gradientColors(+gradientColors);\n }\n if (gradientDirection) {\n background.gradientDirection(gradientDirection);\n }\n return background;\n}\n/**\n * Crete a background with contrast and palette from given model\n * @param background\n * @param backgroundModel\n */\nfunction createContrastPaletteBackground(background, backgroundModel) {\n const { contrast, palette } = backgroundModel;\n if (contrast) {\n background.contrast();\n }\n if (palette) {\n background.palette(...palette);\n }\n return background;\n}\n/**\n * Create a Generative Fill background from given model\n * @param background\n * @param backgroundModel\n */\nfunction createGenerativeFillBackground(background, backgroundModel) {\n const { prompt } = backgroundModel;\n if (prompt) {\n background.prompt(prompt);\n }\n return background;\n}\n/**\n * Create BackgroundQualifier from IBackgroundModel\n * @param backgroundModel\n */\nfunction createBackgroundFromModel(backgroundModel) {\n const { backgroundType } = backgroundModel;\n switch (backgroundType) {\n case 'auto':\n return auto();\n case 'blurred':\n return createBlurredBackground(backgroundModel);\n case 'border':\n return createContrastPaletteBackground(border(), backgroundModel);\n case 'borderGradient':\n return createGradientBackground(borderGradient(), backgroundModel);\n case 'predominant':\n return createContrastPaletteBackground(predominant(), backgroundModel);\n case 'predominantGradient':\n return createGradientBackground(predominantGradient(), backgroundModel);\n case 'generativeFill':\n return createGenerativeFillBackground(generativeFill(), backgroundModel);\n default:\n return color(backgroundModel.color);\n }\n}\n\n/**\n * @description Defines an advanced resize with padding.\n * @extends Actions.Resize.ResizeAdvancedAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizePadAction extends ResizeAdvancedAction {\n /**\n * @description Sets the background.\n * @param {Qualifiers.Background} backgroundQualifier Defines the background color to use instead of\n * transparent background areas or when resizing with padding.\n */\n background(backgroundQualifier) {\n this._actionModel.background = createBackgroundModel(backgroundQualifier);\n return this.addQualifier(backgroundQualifier);\n }\n /**\n * @description Horizontal position for custom-coordinates based padding.\n * @param {number} x The x position.\n */\n offsetX(x) {\n this._actionModel.x = x;\n return this.addQualifier(new Qualifier('x', x));\n }\n /**\n * @description Vertical position for custom-coordinates based padding\n * @param {number} y The y position.\n */\n offsetY(y) {\n this._actionModel.y = y;\n return this.addQualifier(new Qualifier('y', y));\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n actionModel.background && result.background(createBackgroundFromModel(actionModel.background));\n actionModel.x && result.offsetX(actionModel.x);\n actionModel.y && result.offsetY(actionModel.y);\n actionModel.zoom && result.zoom(actionModel.zoom);\n return result;\n }\n}\n\n/**\n * @description Defines a scaling resize action.\n * @extends Actions.Resize.ResizeSimpleAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeScaleAction extends ResizeSimpleAction {\n /**\n * @description Changes the aspect ratio of an image while retaining all important content and avoiding unnatural\n * distortions.\n * @return {this}\n */\n liquidRescaling() {\n return this.addQualifier(new GravityQualifier('liquid'));\n }\n}\n\n/**\n * @description Defines how to crop an asset\n * @extends Actions.Resize.ResizeAdvancedAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeCropAction extends ResizeAdvancedAction {\n /**\n * @description Horizontal position for custom-coordinates based cropping.\n * @param {number} x The x position.\n */\n x(x) {\n this._actionModel.x = x;\n return this.addQualifier(new Qualifier('x', x));\n }\n /**\n * @description Vertical position for custom-coordinates based cropping\n * @param {number} y The y position.\n */\n y(y) {\n this._actionModel.y = y;\n return this.addQualifier(new Qualifier('y', y));\n }\n /**\n * @description Controls how much of the original image surrounding the face to keep when using either the 'crop' or 'thumb' cropping modes with face detection.\n * @param {number | string} z The zoom factor. (Default: 1.0)\n */\n zoom(z) {\n this._actionModel.zoom = z;\n return this.addQualifier(new Qualifier('z', z));\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n actionModel.x && result.x(actionModel.x);\n actionModel.y && result.y(actionModel.y);\n actionModel.zoom && result.zoom(actionModel.zoom);\n return result;\n }\n}\n\n/**\n * @description Defines how to crop-fill an asset\n * @extends Actions.Resize.ResizeAdvancedAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeFillAction extends ResizeAdvancedAction {\n /**\n * @description Absolute X position when used with Gravity.xyCenter {@link Qualifiers.Gravity.GravityQualifier}}\n * @param {number} x The x position.\n */\n x(x) {\n this._actionModel.x = x;\n return this.addQualifier(new Qualifier('x', x));\n }\n /**\n * @description Absolute Y position when used with Gravity.xyCenter {@link Qualifiers.Gravity.GravityQualifier}}\n * @param {number} y The y position.\n */\n y(y) {\n this._actionModel.y = y;\n return this.addQualifier(new Qualifier('y', y));\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n actionModel.x && result.x(actionModel.x);\n actionModel.y && result.y(actionModel.y);\n return result;\n }\n}\n\n/**\n * @description Determines how to crop, scale, and/or zoom the delivered asset according to the requested dimensions.\n * @memberOf Actions\n * @namespace Resize\n * @see Learn more about Gravity and Focus {@link Qualifiers.Gravity| here }\n * @example\n * <caption> <h4>Scaling an image</h4> </caption>\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {scale, fit, pad, crop} from '@cloudinary/url-gen/actions/resize';\n *\n * const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});\n * const image = yourCldInstance.image('woman');\n *\n * image.resize( scale(100, 100) );\n * // All resize actions have a similar interface.\n * // image.resize( fit(100, 100)) );\n * // image.resize( pad(100, 100)) );\n * // image.resize( crop(100, 100)) );\n * // However, Some actions have additional arguments exposed as builder methods.\n * // See the documentation for each method for more information\n *\n *\n * // Alternative syntax, using builder methods\n * image.resize(\n * scale()\n * .width(100)\n * .height(100)\n * );\n * image.toString()\n *\n * @example\n * <caption> <h4>Cropping with automatic focus(Gravity)</h4> </caption>\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n *\n * const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});\n * const image = yourCldInstance.image('woman');\n *\n * import {scale} from '@cloudinary/url-gen/actions/resize';\n * import {autoGravity} from '@cloudinary/url-gen/qualifiers/gravity';\n *\n * image.resize( crop(100, 100).gravity(autoGravity()) );\n *\n * // Alternative syntax, using builder methods\n * image.resize(\n * scale()\n * .width(100)\n * .height(100)\n * .gravity(autoGravity())\n * );\n * image.toString()\n */\n/**\n * @summary action\n * @description\n * Changes the size of the image exactly to the given width and height without necessarily retaining the original aspect ratio:<br/>\n * all original image parts are visible but might be stretched or shrunk.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ScaleAction}\n */\nfunction scale(width, height) {\n return new ResizeScaleAction('scale', width, height);\n}\n/**\n * @summary action\n * @description Extracts a region of the given width and height out of the original image.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeCropAction}\n */\nfunction crop(width, height) {\n return new ResizeCropAction('crop', width, height);\n}\n/**\n * @summary action\n * @description\n * Creates an image with the exact given width and height without distorting the image.<br/>\n * This option first scales up or down as much as needed to at least fill both of the given dimensions.<br/><br/>\n * If the requested aspect ratio is different than the original, cropping will occur on the dimension that exceeds the requested size after scaling.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeFillAction}\n */\nfunction fill(width, height) {\n return new ResizeFillAction('fill', width, height);\n}\n/**\n * @summary action\n * @description\n * Resizes the asset to fill the given width and height while retaining the original aspect ratio.\n *\n * If the proportions of the original asset do not match the given width and height, padding is added to the asset\n * to reach the required size.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizePadAction}\n */\nfunction pad(width, height) {\n return new ResizePadAction('pad', width, height);\n}\n\n/**\n * @description Controls the quality of the delivered image or video.\n * @memberOf Actions.Delivery\n * @extends {Actions.Delivery.DeliveryAction}\n * @see Visit {@link Actions.Delivery|Delivery} for an example\n */\nclass DeliveryQualityAction extends DeliveryAction {\n /**\n * @param {Qualifiers.Quality} qualityValue a Quality value\n */\n constructor(qualityValue) {\n super('q', qualityValue.toString(), 'level');\n }\n /**\n * Selet the Chroma sub sampling</br>\n * <b>Learn more</b>: {@link https://cloudinary.com/documentation/image_optimization#toggle_chroma_subsampling|Toggling chroma subsampling}\n * @param {420 | 444 | number} type The chroma sub sampling type\n */\n chromaSubSampling(type) {\n this._actionModel.chromaSubSampling = CHROMA_VALUE_TO_CHROMA_MODEL_ENUM[type];\n const qualityWithSubSampling = new QualifierValue([this._actionModel.level, type]);\n qualityWithSubSampling.setDelimiter(':');\n // We either have chroma or quantization, but not both\n return this.addQualifier(new Qualifier('q', qualityWithSubSampling));\n }\n /**\n * Controls the final quality by setting a maximum quantization percentage\n * @param {number} val\n */\n quantization(val) {\n this._actionModel.quantization = val;\n const qualityWithQuantization = new QualifierValue([this._actionModel.level, `qmax_${val}`]).setDelimiter(':');\n // We either have chroma or quantization, but not both\n return this.addQualifier(new Qualifier('q', qualityWithQuantization));\n }\n static fromJson(actionModel) {\n const { level, chromaSubSampling, quantization } = actionModel;\n const levelType = ACTION_TYPE_TO_QUALITY_MODE_MAP[level] || level;\n const result = new this(levelType);\n if (chromaSubSampling) {\n //Turn strings like 'CHROMA_420' to 420\n const chromaValue = CHROMA_MODEL_ENUM_TO_CHROMA_VALUE[chromaSubSampling.toUpperCase()];\n chromaValue && result.chromaSubSampling(+chromaValue);\n }\n quantization && result.quantization(quantization);\n return result;\n }\n}\n\n/**\n * @description Defines transformations for delivering your assets without changing the visual or audio experience for the end user.\n * @memberOf Actions\n * @namespace Delivery\n * @example\n * See the examples under every method\n */\n/**\n * @summary action\n * @description Defines the format of the delivered asset.\n *\n * <b>Learn more:</b>\n * {@link https://cloudinary.com/documentation/image_transformations#image_format_support|Image formats}\n * {@link https://cloudinary.com/documentation/video_manipulation_and_delivery#transcoding_video_to_other_formats|Video formats}\n *\n * @memberOf Actions.Delivery\n * @param {string} format The file format. For a list of supported format types see {@link Qualifiers.Format| format types} for\n * possible values\n * @return {Actions.Delivery.DeliveryFormat}\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {format} from \"@cloudinary/url-gen/actions/delivery\";\n *\n * const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.delivery(\n * format('jpg'),\n * );\n *\n */\nfunction format(format) {\n return new DeliveryFormatAction('f', format);\n}\n/**\n * @summary action\n * @description Controls the quality of the delivered image or video.\n *\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/image_optimization#how_to_optimize_image_quality|Image quality}\n * {@link https://cloudinary.com/documentation/video_optimization#how_to_optimize_video_quality|Video quality}\n * @memberOf Actions.Delivery\n * @param {QualityTypes | string | number | Qualifiers.Quality} qualityType For a list of supported quality types see\n * {@link Qualifiers.Quality| quality types} for\n * possible values.\n * @return {Actions.Delivery.DeliveryQualityAction}\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {quality} from \"@cloudinary/url-gen/actions/delivery\";\n * import {quality} from \"@cloudinary/url-gen/qualifiers/quantity\";\n *\n * const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.delivery(\n * quality('auto'),\n * );\n */\nfunction quality(qualityType) {\n return new DeliveryQualityAction(qualityType);\n}\n\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Compass\n * @description North east corner (top right).\n * @return {Qualifiers.Compass.CompassQualifier} Compass\n */\nfunction northEast() {\n return new CompassQualifier('north_east');\n}\n\n/**\r\n * Predefined accessibility transformations\r\n * @const {Object} Cloudinary.ACCESSIBILITY_MODES\r\n */\r\nvar ACCESSIBILITY_MODES = {\r\n 'darkmode': colorize(70).color('black'),\r\n 'brightmode': colorize(40).color('white'),\r\n 'monochrome': grayscale(),\r\n 'colorblind': assistColorBlind()\r\n};\r\n/**\r\n * Predefined vectorize placeholder transformation\r\n */\r\nvar VECTORIZE = new Transformation()\r\n .effect(vectorize())\r\n .delivery(quality('auto'))\r\n .delivery(format(svg()));\r\n/**\r\n * Predefined pixelate placeholder transformation\r\n */\r\nvar PIXELATE = new Transformation()\r\n .effect(pixelate())\r\n .delivery(quality('auto'))\r\n .delivery(format(auto$1()));\r\n/**\r\n * Predefined blur placeholder transformation\r\n */\r\nvar BLUR = new Transformation()\r\n .effect(blur(2000))\r\n .delivery(quality('auto'))\r\n .delivery(format(auto$1()));\r\n/**\r\n * Predefined predominant color placeholder transformation\r\n */\r\nvar PREDOMINANT_COLOR_TRANSFORM = new Transformation()\r\n .resize(pad('iw_div_2').aspectRatio(1).background(Background.auto()))\r\n .resize(crop(1, 1).gravity(compass(northEast())))\r\n .resize(fill().height('ih').width('iw'))\r\n .delivery(quality('auto'))\r\n .delivery(format(auto$1()));\r\n/**\r\n * Predefined placeholder image options\r\n */\r\nvar PLACEHOLDER_IMAGE_OPTIONS = {\r\n 'vectorize': VECTORIZE,\r\n 'pixelate': PIXELATE,\r\n 'blur': BLUR,\r\n 'predominant-color': PREDOMINANT_COLOR_TRANSFORM\r\n};\r\n/**\r\n * transparent gif\r\n */\r\nvar singleTransparentPixel = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\r\n/**\r\n * Convert common video file extensions to mime types\r\n * Most other common video file extensions have an identical mime type so do not need conversion.\r\n */\r\nvar VIDEO_MIME_TYPES = {\r\n 'flv': 'x-flv',\r\n '3gp': '3gpp',\r\n 'mov': 'quicktime',\r\n 'mpg': 'mpeg',\r\n 'avi': 'x-msvideo',\r\n 'wmv': 'x-ms-wmv',\r\n 'ogv': 'ogg',\r\n 'webm': 'webm',\r\n 'mp4': 'mp4',\r\n};\n\nvar ANALYTICS_DELIMITER = '?_a=';\r\nvar HtmlVideoLayer = /** @class */ (function () {\r\n function HtmlVideoLayer(element, userCloudinaryVideo, sources, plugins, videoAttributes, userCloudinaryPoster, videoOptions) {\r\n var _this = this;\r\n this.mimeType = 'video';\r\n this.mimeSubTypes = VIDEO_MIME_TYPES;\r\n this.videoElement = element;\r\n this.originalVideo = userCloudinaryVideo;\r\n this.videoOptions = videoOptions;\r\n this.htmlPluginState = { cleanupCallbacks: [], pluginEventSubscription: [] };\r\n var pluginCloudinaryVideo = cloneDeep(userCloudinaryVideo);\r\n render(element, userCloudinaryVideo, plugins, this.htmlPluginState)\r\n .then(function () {\r\n _this.htmlPluginState.pluginEventSubscription.forEach(function (fn) { fn(); });\r\n _this.setVideoAttributes(videoAttributes, userCloudinaryPoster);\r\n _this.handleSourceToVideo(pluginCloudinaryVideo, sources);\r\n });\r\n }\r\n /**\r\n * Handles user supplied sources or default sources\r\n * @param userCloudinaryVideo {CloudinaryVideo}\r\n * @param sources\r\n */\r\n HtmlVideoLayer.prototype.handleSourceToVideo = function (userCloudinaryVideo, sources) {\r\n var _this = this;\r\n // checks if user supplied sources\r\n if (sources) {\r\n this.generateUserSources(userCloudinaryVideo, sources);\r\n }\r\n else {\r\n var defaultTypes = ['webm', 'mp4', 'ogv'];\r\n defaultTypes.forEach(function (type) {\r\n _this.appendSourceTag(cloneDeep(userCloudinaryVideo), type);\r\n });\r\n }\r\n };\r\n /**\r\n * Generate sources based on user input\r\n * @param userCloudinaryVideo {CloudinaryVideo}\r\n * @param sources\r\n */\r\n HtmlVideoLayer.prototype.generateUserSources = function (userCloudinaryVideo, sources) {\r\n var _this = this;\r\n sources.map(function (_a) {\r\n var type = _a.type, codecs = _a.codecs, transcode = _a.transcode;\r\n return (_this.appendSourceTag(cloneDeep(userCloudinaryVideo)\r\n .transcode(transcode), type, _this.buildMimeType(type, codecs)));\r\n });\r\n };\r\n /**\r\n * Appends source tag to html video element\r\n * @param userCloudinaryVideo {CloudinaryVideo}\r\n * @param type {string}\r\n * @param mimeType {string}\r\n */\r\n HtmlVideoLayer.prototype.appendSourceTag = function (userCloudinaryVideo, type, mimeType) {\r\n var _a;\r\n var source = document.createElement('source');\r\n var shouldUseFetchFormat = (_a = this.videoOptions) === null || _a === void 0 ? void 0 : _a.useFetchFormat;\r\n if (shouldUseFetchFormat) {\r\n userCloudinaryVideo.format(type);\r\n }\r\n var url = userCloudinaryVideo.toURL();\r\n // Split url to get analytics string so that we can insert the file extension (type) before it\r\n // To simplify this we could add a .getPublicId to CloudinaryVideo and do vid.setPublicId(vid.getPublicId+type)\r\n // Another option could be to add a .setExtension, which will allow to do vid.setExtension(type)\r\n var srcParts = url.split(ANALYTICS_DELIMITER);\r\n var analyticsStr = srcParts[1] ? \"\".concat(ANALYTICS_DELIMITER).concat(srcParts[1]) : '';\r\n var ext = shouldUseFetchFormat ? '' : \".\".concat(type);\r\n source.src = \"\".concat(srcParts[0]).concat(ext).concat(analyticsStr);\r\n // Ideally, we want to use the VIDEO_MIME_TYPE to detect the mime of the extension\r\n // For future proofing of simple formats (say .foo and mimetype of video/foo), we also fallback to the actual type\r\n source.type = mimeType ? mimeType : \"video/\".concat(VIDEO_MIME_TYPES[type] || type);\r\n this.videoElement.appendChild(source);\r\n };\r\n /**\r\n * Determines MIME type of given source type and codecs.\r\n * @param type - format of the video\r\n * @param codecs - optional information about codecs of the video\r\n */\r\n HtmlVideoLayer.prototype.buildMimeType = function (type, codecs) {\r\n var mimeType = \"\".concat(this.mimeType, \"/\").concat(this.mimeSubTypes[type] || type);\r\n if (codecs) {\r\n mimeType += \"; codecs=\" + (Array.isArray(codecs) ? codecs.join(', ') : codecs);\r\n }\r\n return mimeType;\r\n };\r\n /**\r\n * Iterates through the video attributes and sets to true if passed in by the user.\r\n * In case of poster, sets the poster.\r\n * @param videoAttributes {object} Supported attributes: controls, loop, muted, poster, preload, autoplay, playsinline\r\n */\r\n HtmlVideoLayer.prototype.setVideoAttributes = function (videoAttributes, userCloudinaryPoster) {\r\n var _a;\r\n if (videoAttributes === void 0) { videoAttributes = {}; }\r\n if (userCloudinaryPoster === 'auto') {\r\n var posterCloudinaryVideo = cloneDeep(this.originalVideo);\r\n videoAttributes['poster'] = posterCloudinaryVideo\r\n .quality('auto')\r\n .format('jpg')\r\n .addTransformation('so_auto')\r\n .toURL();\r\n }\r\n else if (userCloudinaryPoster) {\r\n videoAttributes['poster'] = (_a = userCloudinaryPoster.toURL) === null || _a === void 0 ? void 0 : _a.call(userCloudinaryPoster);\r\n }\r\n for (var _i = 0, _b = Object.entries(videoAttributes); _i < _b.length; _i++) {\r\n var _c = _b[_i], key = _c[0], value = _c[1];\r\n // Boolean attributes are considered to be true if they're present on the element at all.\r\n // You should set value to the empty string (\"\") or the attribute's name.\r\n // See https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\r\n value && this.videoElement.setAttribute(key, key === 'poster' ? value : '');\r\n }\r\n };\r\n /**\r\n * Called when component is updated. If our video source has changed, a video reload is triggered.\r\n * @param updatedCloudinaryVideo\r\n * @param sources\r\n * @param plugins\r\n * @param videoAttributes\r\n */\r\n HtmlVideoLayer.prototype.update = function (updatedCloudinaryVideo, sources, plugins, videoAttributes, userCloudinaryPoster) {\r\n var _this = this;\r\n if (updatedCloudinaryVideo !== this.originalVideo) {\r\n var sourcesToDelete = this.videoElement.getElementsByTagName(\"SOURCE\");\r\n while (sourcesToDelete[0])\r\n sourcesToDelete[0].parentNode.removeChild(sourcesToDelete[0]);\r\n render(this.videoElement, updatedCloudinaryVideo, plugins, this.htmlPluginState)\r\n .then(function () {\r\n _this.setVideoAttributes(videoAttributes, userCloudinaryPoster);\r\n _this.handleSourceToVideo(updatedCloudinaryVideo, sources);\r\n _this.videoElement.load();\r\n });\r\n }\r\n };\r\n return HtmlVideoLayer;\r\n}());\n\n/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nvar lodash_debounce = debounce;\n\n/**\r\n * Returns true if value is number\r\n * @param value\r\n */\r\nfunction isNum(value) {\r\n return typeof value === \"number\";\r\n}\n\n/**\r\n * return true when window is defined\r\n */\r\nfunction isBrowser() {\r\n return typeof window !== 'undefined';\r\n}\n\n/**\r\n * returns true if input is an image element\r\n * @param i\r\n */\r\nfunction isImage(i) {\r\n return i instanceof HTMLImageElement;\r\n}\n\nvar initialPlugins = {\r\n accessibility: false,\r\n lazyload: false,\r\n placeholder: false,\r\n responsive: false,\r\n};\r\nvar getPluginType = function (name) { return name.replace('bound ', '').replace('Plugin', ''); };\r\nvar isPluginUsed = function (plugins, pluginType) {\r\n if (plugins === void 0) { plugins = []; }\r\n var usedPlugins = plugins.reduce(function (used, _a) {\r\n var _b;\r\n var name = _a.name;\r\n return (__assign$1(__assign$1({}, used), (_b = {}, _b[getPluginType(name)] = true, _b)));\r\n }, initialPlugins);\r\n return usedPlugins[pluginType];\r\n};\n\n/**\r\n * @namespace\r\n * @description Updates the src with the size of the parent element and triggers a resize event for\r\n * subsequent resizing.\r\n * @param steps {number | number[]} The step size in pixels or an array of image widths in pixels.\r\n * @return {Plugin}\r\n * @example <caption>NOTE: The following is in React. For further examples, see the Packages tab.</caption>\r\n * <AdvancedImage cldImg={img} plugins={[responsive({steps: [800, 1000, 1400]})]} />\r\n */\r\nfunction responsive(_a) {\r\n var _b = _a === void 0 ? {} : _a, steps = _b.steps;\r\n return responsivePlugin.bind(null, steps);\r\n}\r\n/**\r\n * @description Responsive plugin\r\n * @param steps {number | number[]} The step size in pixels.\r\n * @param element {HTMLImageElement} The image element\r\n * @param responsiveImage {CloudinaryImage}\r\n * @param htmlPluginState {HtmlPluginState} holds cleanup callbacks and event subscriptions\r\n * @param analyticsOptions {BaseAnalyticsOptions} analytics options for the url to be created\r\n */\r\nfunction responsivePlugin(steps, element, responsiveImage, htmlPluginState, baseAnalyticsOptions, plugins) {\r\n if (!isBrowser())\r\n return true;\r\n if (!isImage(element))\r\n return;\r\n return new Promise(function (resolve) {\r\n htmlPluginState.cleanupCallbacks.push(function () {\r\n window.removeEventListener(\"resize\", resizeRef);\r\n resolve('canceled');\r\n });\r\n var analyticsOptions = getAnalyticsOptions(baseAnalyticsOptions, { responsive: true });\r\n // Use a tagged generic action that can be later searched and replaced.\r\n responsiveImage.addAction(new Action().setActionTag('responsive'));\r\n var shouldRunImmediately = !isPluginUsed(plugins, 'placeholder');\r\n if (shouldRunImmediately) {\r\n // Immediately run the resize plugin, ensuring that first render gets a responsive image.\r\n onResize(steps, element, responsiveImage, analyticsOptions);\r\n }\r\n else {\r\n updateByContainerWidth(steps, element, responsiveImage);\r\n }\r\n var resizeRef;\r\n htmlPluginState.pluginEventSubscription.push(function () {\r\n window.addEventListener('resize', resizeRef = lodash_debounce(function () {\r\n onResize(steps, element, responsiveImage, analyticsOptions);\r\n }, 100));\r\n });\r\n resolve({ responsive: true });\r\n });\r\n}\r\n/**\r\n * On resize updates image src\r\n * @param steps {number | number[]} The step size in pixels.\r\n * | number[] A set of image sizes in pixels.\r\n * @param element {HTMLImageElement} The image element\r\n * @param responsiveImage {CloudinaryImage}\r\n * @param analyticsOptions {AnalyticsOptions} analytics options for the url to be created\r\n */\r\nfunction onResize(steps, element, responsiveImage, analyticsOptions) {\r\n updateByContainerWidth(steps, element, responsiveImage);\r\n element.src = responsiveImage.toURL(analyticsOptions);\r\n}\r\n/**\r\n * Updates the responsiveImage by container width.\r\n * @param steps {number | number[]} The step size in pixels.\r\n * | number[] A set of image sizes in pixels.\r\n * @param element {HTMLImageElement} The image element\r\n * @param responsiveImage {CloudinaryImage}\r\n */\r\nfunction updateByContainerWidth(steps, element, responsiveImage) {\r\n // Default value for responsiveImgWidth, used when no steps are passed.\r\n var responsiveImgWidth = element.parentElement.clientWidth;\r\n if (isNum(steps)) {\r\n var WIDTH_INTERVALS = steps;\r\n // We need to force the container width to be intervals of max width.\r\n responsiveImgWidth = Math.ceil(responsiveImgWidth / WIDTH_INTERVALS) * WIDTH_INTERVALS;\r\n }\r\n else if (Array.isArray(steps)) {\r\n responsiveImgWidth = steps.reduce(function (prev, curr) {\r\n return (Math.abs(curr - responsiveImgWidth) < Math.abs(prev - responsiveImgWidth) ? curr : prev);\r\n });\r\n }\r\n responsiveImage.transformation.actions.forEach(function (action, index) {\r\n if (action instanceof Action && action.getActionTag() === 'responsive') {\r\n responsiveImage.transformation.actions[index] = scale(responsiveImgWidth).setActionTag('responsive');\r\n }\r\n });\r\n}\n\n/**\r\n * @namespace\r\n * @description Loads an image once it is in a certain margin in the viewport. This includes vertical and horizontal scrolling.\r\n * @param rootMargin {string} The root element's bounding box before the intersection test is performed. Default: 0px.\r\n * @param threshold {number} The percentage of the image's visibility at which point the image should load. Default: 0.1 (10%).\r\n * @return {Plugin}\r\n * @example\r\n * <caption>\r\n * NOTE: The following is in React. For further examples, see the Packages tab.\r\n * When using the plugin make sure to add dimensions, otherwise the images will load with\r\n * the size of 0x0, meaning the images will be in the viewport and trigger the lazyload plugin.\r\n * </caption>\r\n * <AdvancedImage style={{width: \"400px\", height: \"400px\"}} cldImg={img} plugins={[lazyload({rootMargin: '0px',\r\n * threshold: 0.25})]} />\r\n */\r\nfunction lazyload(_a) {\r\n var _b = _a === void 0 ? {} : _a, _c = _b.rootMargin, rootMargin = _c === void 0 ? '0px' : _c, _d = _b.threshold, threshold = _d === void 0 ? 0.1 : _d;\r\n return lazyloadPlugin.bind(null, rootMargin, threshold);\r\n}\r\n/**\r\n * @description lazyload plugin\r\n * @param rootMargin {string} The root element's bounding box before the intersection test is performed. Default: 0px.\r\n * @param threshold {number} The percentage of the image's visibility at which point the image should load. Default: 0.1 (10%).\r\n * @param element The image element.\r\n * @param element {HTMLImageElement} The image element.\r\n * @param cloudinaryImage {CloudinaryImage}\r\n * @param htmlPluginState {HtmlPluginState} Holds cleanup callbacks and event subscriptions.\r\n */\r\nfunction lazyloadPlugin(rootMargin, threshold, element, cloudinaryImage, htmlPluginState, plugins) {\r\n if (rootMargin === void 0) { rootMargin = '0px'; }\r\n if (threshold === void 0) { threshold = 0.1; }\r\n // if SSR skip plugin\r\n if (!isBrowser())\r\n return false;\r\n return new Promise(function (resolve) {\r\n var onIntersect = function () { return (resolve({ lazyload: true })); };\r\n var unobserve = detectIntersection(element, onIntersect, rootMargin, threshold);\r\n htmlPluginState.cleanupCallbacks.push(function () {\r\n unobserve();\r\n resolve('canceled');\r\n });\r\n });\r\n}\r\n/**\r\n * Check if IntersectionObserver is supported\r\n * @return {boolean} true if window.IntersectionObserver is defined\r\n */\r\nfunction isIntersectionObserverSupported() {\r\n // Check that 'IntersectionObserver' property is defined on window\r\n return window && 'IntersectionObserver' in window;\r\n}\r\n/**\r\n * Calls onIntersect() to resolve when intersection is detected, or when\r\n * no native lazy loading or when IntersectionObserver isn't supported.\r\n * @param {Element} el - the element to observe\r\n * @param {function} onIntersect - called when the given element is in view\r\n * @param rootMargin {string} The root element's bounding box before the intersection test is performed. Default: 0px.\r\n * @param threshold {number} The percentage of the image's visibility at which point the image should load. Default: 0.1 (10%).\r\n */\r\nfunction detectIntersection(el, onIntersect, rootMargin, threshold) {\r\n try {\r\n if (!isIntersectionObserverSupported()) {\r\n // Return if there's no need or possibility to detect intersection\r\n onIntersect();\r\n return function () { };\r\n }\r\n // Detect intersection with given element using IntersectionObserver\r\n var observer_1 = new IntersectionObserver(function (entries) {\r\n entries.forEach(function (entry) {\r\n if (entry.isIntersecting) {\r\n observer_1.unobserve(entry.target);\r\n onIntersect();\r\n }\r\n });\r\n }, { rootMargin: rootMargin, threshold: threshold });\r\n observer_1.observe(el);\r\n return function () { el && observer_1.observe(el); };\r\n }\r\n catch (e) {\r\n onIntersect();\r\n }\r\n}\n\n/**\r\n * @namespace\r\n * @description Appends accessibility transformations to the original image.\r\n * @return {Plugin}\r\n * @example <caption>NOTE: The following is in React. For further examples, see the Packages tab.</caption>\r\n * <AdvancedImage cldImg={img} plugins={[accessibility()]}/>\r\n */\r\nfunction accessibility(_a) {\r\n var _b = _a === void 0 ? {} : _a, _c = _b.mode, mode = _c === void 0 ? 'darkmode' : _c;\r\n return accessibilityPlugin.bind(null, mode);\r\n}\r\n/**\r\n * @description Accessibility plugin\r\n * @param mode {AccessibilityMode} The accessibility mode to use. Possible modes: 'darkmode' | 'brightmode' | 'monochrome' | 'colorblind'. Default: 'darkmode'.\r\n * @param element {HTMLImageElement} The image element.\r\n * @param pluginCloudinaryImage {CloudinaryImage}\r\n * @param htmlPluginState {htmlPluginState} Holds cleanup callbacks and event subscriptions.\r\n */\r\nfunction accessibilityPlugin(mode, element, pluginCloudinaryImage, htmlPluginState, plugins) {\r\n if (isBrowser()) {\r\n if (!isImage(element))\r\n return;\r\n return new Promise(function (resolve) {\r\n // resolved promise when canceled\r\n htmlPluginState.cleanupCallbacks.push(function () {\r\n resolve('canceled');\r\n });\r\n if (!ACCESSIBILITY_MODES[mode]) {\r\n mode = 'darkmode';\r\n }\r\n pluginCloudinaryImage.effect(ACCESSIBILITY_MODES[mode]);\r\n resolve({ accessibility: true });\r\n });\r\n }\r\n else {\r\n pluginCloudinaryImage.effect(ACCESSIBILITY_MODES[mode]);\r\n return true;\r\n }\r\n}\n\n/**\r\n * @namespace\r\n * @description Displays a placeholder image until the original image loads.\r\n * @param mode {PlaceholderMode} The type of placeholder image to display. Possible modes: 'vectorize' | 'pixelate' | 'blur' | 'predominant-color'. Default: 'vectorize'.\r\n * @return {Plugin}\r\n * @example <caption>NOTE: The following is in React. For further examples, see the Packages tab.</caption>\r\n * <AdvancedImage cldImg={img} plugins={[placeholder({mode: 'blur'})]} />\r\n */\r\nfunction placeholder(_a) {\r\n var _b = _a === void 0 ? {} : _a, _c = _b.mode, mode = _c === void 0 ? 'vectorize' : _c;\r\n return placeholderPlugin.bind(null, mode);\r\n}\r\n/**\r\n * @description Placeholder plugin\r\n * @param mode {PlaceholderMode} The type of placeholder image to display. Possible modes: 'vectorize' | 'pixelate' | 'blur' | 'predominant-color'. Default: 'vectorize'.\r\n * @param element {HTMLImageElement} The image element.\r\n * @param pluginCloudinaryImage {CloudinaryImage}\r\n * @param htmlPluginState {htmlPluginState} Holds cleanup callbacks and event subscriptions.\r\n * @param baseAnalyticsOptions {BaseAnalyticsOptions} analytics options for the url to be created\r\n */\r\nfunction placeholderPlugin(mode, element, pluginCloudinaryImage, htmlPluginState, baseAnalyticsOptions, plugins) {\r\n // @ts-ignore\r\n // If we're using an invalid mode, we default to vectorize\r\n if (!PLACEHOLDER_IMAGE_OPTIONS[mode]) {\r\n mode = 'vectorize';\r\n }\r\n // A placeholder mode maps to an array of transformations\r\n var PLACEHOLDER_ACTIONS = PLACEHOLDER_IMAGE_OPTIONS[mode].actions;\r\n // Before proceeding, clone the original image\r\n // We clone because we don't want to pollute the state of the image\r\n // Future renders (after the placeholder is loaded) should not load placeholder transformations\r\n var placeholderClonedImage = cloneDeep(pluginCloudinaryImage);\r\n //appends a placeholder transformation on the clone\r\n // @ts-ignore\r\n PLACEHOLDER_ACTIONS.forEach(function (transformation) {\r\n placeholderClonedImage.addAction(transformation);\r\n });\r\n if (!isBrowser()) {\r\n // in SSR, we copy the transformations of the clone to the user provided CloudinaryImage\r\n // We return here, since we don't have HTML elements to work with.\r\n pluginCloudinaryImage.transformation = placeholderClonedImage.transformation;\r\n return true;\r\n }\r\n // Client side rendering, if an image was not provided we don't perform any action\r\n if (!isImage(element))\r\n return;\r\n // For the cloned placeholder image, we remove the responsive action.\r\n // There's no need to load e_pixelate,w_{responsive} beacuse that image is temporary as-is\r\n // and it just causes another image to load.\r\n // This also means that the de-facto way to use responsive in SSR is WITH placeholder.\r\n // This also means that the user must provide dimensions for the responsive plugin on the img tag.\r\n placeholderClonedImage.transformation.actions.forEach(function (action, index) {\r\n if (action instanceof Action && action.getActionTag() === 'responsive') {\r\n delete placeholderClonedImage.transformation.actions[index];\r\n }\r\n });\r\n var analyticsOptions = getAnalyticsOptions(baseAnalyticsOptions, { placeholder: true });\r\n // Set the SRC of the imageElement to the URL of the placeholder Image\r\n element.src = placeholderClonedImage.toURL(analyticsOptions);\r\n //Fallback, if placeholder errors, load a single transparent pixel\r\n element.onerror = function () {\r\n element.src = singleTransparentPixel;\r\n };\r\n /*\r\n * This plugin loads two images:\r\n * - The first image is loaded as a placeholder\r\n * - The second image is loaded after the placeholder is loaded\r\n *\r\n * Placeholder image loads first. Once it loads, the promise is resolved and the\r\n * larger image will load. Once the larger image loads, promised and plugin is resolved.\r\n */\r\n return new Promise(function (resolve) {\r\n element.onload = function () {\r\n resolve();\r\n };\r\n }).then(function () {\r\n return new Promise(function (resolve) {\r\n htmlPluginState.cleanupCallbacks.push(function () {\r\n element.src = singleTransparentPixel;\r\n resolve('canceled');\r\n });\r\n // load image once placeholder is done loading\r\n var largeImage = new Image();\r\n largeImage.src = pluginCloudinaryImage.toURL(analyticsOptions);\r\n largeImage.onload = function () {\r\n resolve({ placeholder: true });\r\n };\r\n // image does not load, resolve\r\n largeImage.onerror = function () {\r\n resolve({ placeholder: true });\r\n };\r\n });\r\n });\r\n}\n\nfunction serverSideSrc(plugins, serverCloudinaryImage, analyticsOptions) {\r\n var clonedServerCloudinaryImage = cloneDeep(serverCloudinaryImage);\r\n if (plugins) {\r\n for (var i = 0; i < plugins.length; i++) {\r\n var response = plugins[i](null, clonedServerCloudinaryImage);\r\n if (!response) { //lazyload\r\n break;\r\n }\r\n }\r\n }\r\n return clonedServerCloudinaryImage.toURL(analyticsOptions ? { trackedAnalytics: analyticsOptions } : null);\r\n}\n\n/**\r\n * Cancels currently running plugins. This is called from unmount or update\r\n * @param pluginState {HtmlPluginState} Holds cleanup callbacks and event subscriptions\r\n */\r\nfunction cancelCurrentlyRunningPlugins(pluginState) {\r\n pluginState.cleanupCallbacks.forEach(function (fn) {\r\n fn(); // resolve each promise with 'canceled'\r\n });\r\n}\n\n/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n\nfunction __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nvar react = {exports: {}};\n\nvar react_production_min = {};\n\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nvar objectAssign = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n/** @license React v16.14.0\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 */\nvar l=objectAssign,n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return \"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}\nvar D={isMounted:function(){return !1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E={};function F(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D;}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(C(85));this.updater.enqueueSetState(this,a,b,\"setState\");};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\");};\nfunction G(){}G.prototype=F.prototype;function H(a,b,c){this.props=a;this.context=b;this.refs=E;this.updater=c||D;}var I=H.prototype=new G;I.constructor=H;l(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,c){var e,d={},g=null,k=null;if(null!=b)for(e in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,e)&&!L.hasOwnProperty(e)&&(d[e]=b[e]);var f=arguments.length-2;if(1===f)d.children=c;else if(1<f){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];d.children=h;}if(a&&a.defaultProps)for(e in f=a.defaultProps,f)void 0===d[e]&&(d[e]=f[e]);return {$$typeof:p,type:a,key:g,ref:k,props:d,_owner:J.current}}\nfunction N(a,b){return {$$typeof:p,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===p}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return \"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g,Q=[];function R(a,b,c,e){if(Q.length){var d=Q.pop();d.result=a;d.keyPrefix=b;d.func=c;d.context=e;d.count=0;return d}return {result:a,keyPrefix:b,func:c,context:e,count:0}}\nfunction S(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>Q.length&&Q.push(a);}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0;}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+U(d,k);g+=T(d,f,c,e);}else if(null===a||\"object\"!==typeof a?f=null:(f=B&&a[B]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),k=\n0;!(d=a.next()).done;)d=d.value,f=b+U(d,k++),g+=T(d,f,c,e);else if(\"object\"===d)throw c=\"\"+a,Error(C(31,\"[object Object]\"===c?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":c,\"\"));return g}function V(a,b,c){return null==a?0:T(a,\"\",b,c)}function U(a,b){return \"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function W(a,b){a.func.call(a.context,b,a.count++);}\nfunction aa(a,b,c){var e=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?X(a,e,c,function(a){return a}):null!=a&&(O(a)&&(a=N(a,d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(P,\"$&/\")+\"/\")+c)),e.push(a));}function X(a,b,c,e,d){var g=\"\";null!=c&&(g=(\"\"+c).replace(P,\"$&/\")+\"/\");b=R(b,g,e,d);V(a,aa,b);S(b);}var Y={current:null};function Z(){var a=Y.current;if(null===a)throw Error(C(321));return a}\nvar ba={ReactCurrentDispatcher:Y,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:J,IsSomeRendererActing:{current:!1},assign:l};react_production_min.Children={map:function(a,b,c){if(null==a)return a;var e=[];X(a,e,null,b,c);return e},forEach:function(a,b,c){if(null==a)return a;b=R(null,null,b,c);V(a,W,b);S(b);},count:function(a){return V(a,function(){return null},null)},toArray:function(a){var b=[];X(a,b,null,function(a){return a});return b},only:function(a){if(!O(a))throw Error(C(143));return a}};\nreact_production_min.Component=F;react_production_min.Fragment=r;react_production_min.Profiler=u;react_production_min.PureComponent=H;react_production_min.StrictMode=t;react_production_min.Suspense=y;react_production_min.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ba;\nreact_production_min.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(C(267,a));var e=l({},a.props),d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=J.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)K.call(b,h)&&!L.hasOwnProperty(h)&&(e[h]=void 0===b[h]&&void 0!==f?f[h]:b[h]);}var h=arguments.length-2;if(1===h)e.children=c;else if(1<h){f=Array(h);for(var m=0;m<h;m++)f[m]=arguments[m+2];e.children=f;}return {$$typeof:p,type:a.type,\nkey:d,ref:g,props:e,_owner:k}};react_production_min.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:w,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:v,_context:a};return a.Consumer=a};react_production_min.createElement=M;react_production_min.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};react_production_min.createRef=function(){return {current:null}};react_production_min.forwardRef=function(a){return {$$typeof:x,render:a}};react_production_min.isValidElement=O;\nreact_production_min.lazy=function(a){return {$$typeof:A,_ctor:a,_status:-1,_result:null}};react_production_min.memo=function(a,b){return {$$typeof:z,type:a,compare:void 0===b?null:b}};react_production_min.useCallback=function(a,b){return Z().useCallback(a,b)};react_production_min.useContext=function(a,b){return Z().useContext(a,b)};react_production_min.useDebugValue=function(){};react_production_min.useEffect=function(a,b){return Z().useEffect(a,b)};react_production_min.useImperativeHandle=function(a,b,c){return Z().useImperativeHandle(a,b,c)};\nreact_production_min.useLayoutEffect=function(a,b){return Z().useLayoutEffect(a,b)};react_production_min.useMemo=function(a,b){return Z().useMemo(a,b)};react_production_min.useReducer=function(a,b,c){return Z().useReducer(a,b,c)};react_production_min.useRef=function(a){return Z().useRef(a)};react_production_min.useState=function(a){return Z().useState(a)};react_production_min.version=\"16.14.0\";\n\nvar react_development = {};\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\nvar ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nvar ReactPropTypesSecret_1 = ReactPropTypesSecret$1;\n\nvar has$1 = Function.call.bind(Object.prototype.hasOwnProperty);\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\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = ReactPropTypesSecret_1;\n var loggedTypeFailures = {};\n var has = has$1;\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n};\n\nvar checkPropTypes_1 = checkPropTypes;\n\n/** @license React v16.14.0\n * react.development.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\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\nvar _assign = objectAssign;\nvar checkPropTypes = checkPropTypes_1;\n\nvar ReactVersion = '16.14.0';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n suspense: null\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar BEFORE_SLASH_RE = /^(.*)[\\\\\\/]/;\nfunction describeComponentFrame (name, source, ownerName) {\n var sourceInfo = '';\n\n if (source) {\n var path = source.fileName;\n var fileName = path.replace(BEFORE_SLASH_RE, '');\n\n {\n // In DEV, include code for a common special case:\n // prefer \"folder/index.js\" instead of just \"index.js\".\n if (/^index\\./.test(fileName)) {\n var match = path.match(BEFORE_SLASH_RE);\n\n if (match) {\n var pathBeforeSlash = match[1];\n\n if (pathBeforeSlash) {\n var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');\n fileName = folderName + '/' + fileName;\n }\n }\n }\n }\n\n sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';\n } else if (ownerName) {\n sourceInfo = ' (created by ' + ownerName + ')';\n }\n\n return '\\n in ' + (name || 'Unknown') + sourceInfo;\n}\n\nvar Resolved = 1;\nfunction refineResolvedLazyComponent(lazyComponent) {\n return lazyComponent._status === Resolved ? lazyComponent._result : null;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n}\n\nfunction getComponentName(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return 'Context.Consumer';\n\n case REACT_PROVIDER_TYPE:\n return 'Context.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n return getComponentName(type.type);\n\n case REACT_BLOCK_TYPE:\n return getComponentName(type.render);\n\n case REACT_LAZY_TYPE:\n {\n var thenable = type;\n var resolvedThenable = refineResolvedLazyComponent(thenable);\n\n if (resolvedThenable) {\n return getComponentName(resolvedThenable);\n }\n\n break;\n }\n }\n }\n\n return null;\n}\n\nvar ReactDebugCurrentFrame = {};\nvar currentlyValidatingElement = null;\nfunction setCurrentlyValidatingElement(element) {\n {\n currentlyValidatingElement = element;\n }\n}\n\n{\n // Stack implementation injected by the current renderer.\n ReactDebugCurrentFrame.getCurrentStack = null;\n\n ReactDebugCurrentFrame.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentlyValidatingElement) {\n var name = getComponentName(currentlyValidatingElement.type);\n var owner = currentlyValidatingElement._owner;\n stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\n/**\n * Used by act() to track whether you're inside an act() scope.\n */\nvar IsSomeRendererActing = {\n current: false\n};\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner,\n IsSomeRendererActing: IsSomeRendererActing,\n // Used by renderers to avoid bundling object-assign twice in UMD bundles:\n assign: _assign\n};\n\n{\n _assign(ReactSharedInternals, {\n // These should not be included in production.\n ReactDebugCurrentFrame: ReactDebugCurrentFrame,\n // Shim for React DOM 16.0.0 which still destructured (but not used) this.\n // TODO: remove in React 17.0.\n ReactComponentTreeHook: {}\n });\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n}\nfunction error(format) {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\\n in') === 0;\n\n if (!hasExistingStack) {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n }\n }\n\n var argsWithFormat = args.map(function (item) {\n return '' + item;\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n throw new Error(message);\n } catch (x) {}\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null)) {\n {\n throw Error( \"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\" );\n }\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\n_assign(pureComponentPrototype, Component.prototype);\n\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);\n }\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\n var componentName = getComponentName(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n\n {\n warnIfStringRefCannotBeAutoConverted(config);\n }\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n return newElement;\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (!!(element === null || element === undefined)) {\n {\n throw Error( \"React.cloneElement(...): The argument must be a React element, but you passed \" + element + \".\" );\n }\n }\n\n var propName; // Original props are copied\n\n var props = _assign({}, element.props); // Reserved names are extracted\n\n\n var key = element.key;\n var ref = element.ref; // Self is preserved since the owner is preserved.\n\n var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n\n var source = element._source; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n\nvar POOL_SIZE = 10;\nvar traverseContextPool = [];\n\nfunction getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) {\n if (traverseContextPool.length) {\n var traverseContext = traverseContextPool.pop();\n traverseContext.result = mapResult;\n traverseContext.keyPrefix = keyPrefix;\n traverseContext.func = mapFunction;\n traverseContext.context = mapContext;\n traverseContext.count = 0;\n return traverseContext;\n } else {\n return {\n result: mapResult,\n keyPrefix: keyPrefix,\n func: mapFunction,\n context: mapContext,\n count: 0\n };\n }\n}\n\nfunction releaseTraverseContext(traverseContext) {\n traverseContext.result = null;\n traverseContext.keyPrefix = null;\n traverseContext.func = null;\n traverseContext.context = null;\n traverseContext.count = 0;\n\n if (traverseContextPool.length < POOL_SIZE) {\n traverseContextPool.push(traverseContext);\n }\n}\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\n\n\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n }\n\n }\n }\n\n if (invokeCallback) {\n callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n\n {\n // Warn about using Maps as children\n if (iteratorFn === children.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is deprecated and will be removed in ' + 'a future major release. Consider converting children to ' + 'an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(children);\n var step;\n var ii = 0;\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else if (type === 'object') {\n var addendum = '';\n\n {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum();\n }\n\n var childrenString = '' + children;\n\n {\n {\n throw Error( \"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \").\" + addendum );\n }\n }\n }\n }\n\n return subtreeCount;\n}\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\n\n\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof component === 'object' && component !== null && component.key != null) {\n // Explicit key\n return escape(component.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction forEachSingleChild(bookKeeping, child, name) {\n var func = bookKeeping.func,\n context = bookKeeping.context;\n func.call(context, child, bookKeeping.count++);\n}\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n\n\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n if (children == null) {\n return children;\n }\n\n var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext);\n traverseAllChildren(children, forEachSingleChild, traverseContext);\n releaseTraverseContext(traverseContext);\n}\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result,\n keyPrefix = bookKeeping.keyPrefix,\n func = bookKeeping.func,\n context = bookKeeping.context;\n var mappedChild = func.call(context, child, bookKeeping.count++);\n\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\n }\n\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n\n var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context);\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n releaseTraverseContext(traverseContext);\n}\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, key, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n\n\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n return traverseAllChildren(children, function () {\n return null;\n }, null);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, function (child) {\n return child;\n });\n return result;\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n {\n throw Error( \"React.Children.only expected to receive a single React element child.\" );\n }\n }\n\n return children;\n}\n\nfunction createContext(defaultValue, calculateChangedBits) {\n if (calculateChangedBits === undefined) {\n calculateChangedBits = null;\n } else {\n {\n if (calculateChangedBits !== null && typeof calculateChangedBits !== 'function') {\n error('createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits);\n }\n }\n }\n\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n _calculateChangedBits: calculateChangedBits,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n var hasWarnedAboutUsingNestedContextConsumers = false;\n var hasWarnedAboutUsingConsumerProvider = false;\n\n {\n // A separate object, but proxies back to the original context object for\n // backwards compatibility. It has a different $$typeof, so we can properly\n // warn for the incorrect usage of Context as a Consumer.\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context,\n _calculateChangedBits: context._calculateChangedBits\n }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\n\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n if (!hasWarnedAboutUsingConsumerProvider) {\n hasWarnedAboutUsingConsumerProvider = true;\n\n error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\n }\n\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n if (!hasWarnedAboutUsingNestedContextConsumers) {\n hasWarnedAboutUsingNestedContextConsumers = true;\n\n error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\n }\n\n return context.Consumer;\n }\n }\n }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\n\n context.Consumer = Consumer;\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nfunction lazy(ctor) {\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _ctor: ctor,\n // React uses these fields to store the result.\n _status: -1,\n _result: null\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes;\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n set: function (newDefaultProps) {\n error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n set: function (newPropTypes) {\n error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null || render.propTypes != null) {\n error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n return {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n}\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n}\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher.current;\n\n if (!(dispatcher !== null)) {\n {\n throw Error( \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.\" );\n }\n }\n\n return dispatcher;\n}\n\nfunction useContext(Context, unstable_observedBits) {\n var dispatcher = resolveDispatcher();\n\n {\n if (unstable_observedBits !== undefined) {\n error('useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\\n\\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : '');\n } // TODO: add a more generic warning for invalid values.\n\n\n if (Context._context !== undefined) {\n var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\n // and nobody should be using this in existing code.\n\n if (realContext.Consumer === Context) {\n error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\n } else if (realContext.Provider === Context) {\n error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n }\n\n return dispatcher.useContext(Context, unstable_observedBits);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n\nfunction getDeclarationErrorAddendum() {\n if (ReactCurrentOwner.current) {\n var name = getComponentName(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n}\n\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\n if (elementProps !== null && elementProps !== undefined) {\n return getSourceInfoErrorAddendum(elementProps.__source);\n }\n\n return '';\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentName(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n {\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner);\n }\n\n setCurrentlyValidatingElement(null);\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n if (typeof node !== 'object') {\n return;\n }\n\n if (Array.isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var name = getComponentName(type);\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n setCurrentlyValidatingElement(element);\n checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum);\n setCurrentlyValidatingElement(null);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true;\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n setCurrentlyValidatingElement(fragment);\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n break;\n }\n }\n\n if (fragment.ref !== null) {\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n }\n\n setCurrentlyValidatingElement(null);\n }\n}\nfunction createElementWithValidation(type, props, children) {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendumForProps(props);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (Array.isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentName(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n {\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n }\n\n var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\nfunction createFactoryWithValidation(type) {\n var validatedFactory = createElementWithValidation.bind(null, type);\n validatedFactory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(validatedFactory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return validatedFactory;\n}\nfunction cloneElementWithValidation(element, props, children) {\n var newElement = cloneElement.apply(this, arguments);\n\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], newElement.type);\n }\n\n validatePropTypes(newElement);\n return newElement;\n}\n\n{\n\n try {\n var frozenObject = Object.freeze({});\n var testMap = new Map([[frozenObject, null]]);\n var testSet = new Set([frozenObject]); // This is necessary for Rollup to not consider these unused.\n // https://github.com/rollup/rollup/issues/1771\n // TODO: we can remove these if Rollup fixes the bug.\n\n testMap.set(0, 0);\n testSet.add(0);\n } catch (e) {\n }\n}\n\nvar createElement$1 = createElementWithValidation ;\nvar cloneElement$1 = cloneElementWithValidation ;\nvar createFactory = createFactoryWithValidation ;\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nreact_development.Children = Children;\nreact_development.Component = Component;\nreact_development.Fragment = REACT_FRAGMENT_TYPE;\nreact_development.Profiler = REACT_PROFILER_TYPE;\nreact_development.PureComponent = PureComponent;\nreact_development.StrictMode = REACT_STRICT_MODE_TYPE;\nreact_development.Suspense = REACT_SUSPENSE_TYPE;\nreact_development.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nreact_development.cloneElement = cloneElement$1;\nreact_development.createContext = createContext;\nreact_development.createElement = createElement$1;\nreact_development.createFactory = createFactory;\nreact_development.createRef = createRef;\nreact_development.forwardRef = forwardRef;\nreact_development.isValidElement = isValidElement;\nreact_development.lazy = lazy;\nreact_development.memo = memo;\nreact_development.useCallback = useCallback;\nreact_development.useContext = useContext;\nreact_development.useDebugValue = useDebugValue;\nreact_development.useEffect = useEffect;\nreact_development.useImperativeHandle = useImperativeHandle;\nreact_development.useLayoutEffect = useLayoutEffect;\nreact_development.useMemo = useMemo;\nreact_development.useReducer = useReducer;\nreact_development.useRef = useRef;\nreact_development.useState = useState;\nreact_development.version = ReactVersion;\n })();\n}\n\nif (process.env.NODE_ENV === 'production') {\n react.exports = react_production_min;\n} else {\n react.exports = react_development;\n}\n\nvar React = react.exports;\n\nvar SDKAnalyticsConstants = {\n sdkSemver: '1.13.1',\n techVersion: React.version,\n sdkCode: 'J'\n};\n\n/**\n * @mixin ReactSDK\n * @description The Cloudinary React SDK contains components like \\<AdvancedImage\\> to easily render your media assets from Cloudinary.\n * The SDK also comes with support for optional JS plugins that make the components smart, with features like lazy loading, placeholder, accessibility & responsiveness.\n *\n * @example\n * <caption>\n * Please note that the order of the plugins is important. See {@link https://cloudinary.com/documentation/sdks/js/frontend-frameworks/index.html#plugin-order|Plugin Order} for more details.\n * </caption>\n * // Example\n * import {CloudinaryImage} from \"@cloudinary/url-gen/assets/CloudinaryImage\";\n * import {\n * AdvancedImage,\n * accessibility,\n * responsive,\n * lazyload,\n * placeholder\n * } from '@cloudinary/react';\n *\n * const App = () => {\n *\n * const myCld = new Cloudinary({ cloudName: 'demo'});\n * let img = myCld().image('sample');\n *\n * return (\n * <div>\n * <div style={{height: \"1000px\"}}/>\n * <AdvancedImage\n * cldImg={img}\n * plugins={[lazyload(), responsive(100), placeholder()]}\n * />\n * </div>\n * )\n * };\n *\n *\n *\n *\n *\n */\n/**\n * @memberOf ReactSDK\n * @type {Component}\n * @description The Cloudinary image component.\n * @prop {CloudinaryImage} cldImg Generated by @cloudinary/url-gen\n * @prop {Plugins} plugins Advanced image component plugins accessibility(), responsive(), lazyload(), placeholder()\n */\nvar AdvancedImage = /** @class */ (function (_super) {\n __extends(AdvancedImage, _super);\n function AdvancedImage(props) {\n var _this = _super.call(this, props) || this;\n _this.imageRef = React.createRef();\n return _this;\n }\n /**\n * On mount, creates a new HTMLLayer instance and initializes with ref to img element,\n * user generated cloudinaryImage and the plugins to be used.\n */\n AdvancedImage.prototype.componentDidMount = function () {\n this.htmlLayerInstance = new HtmlImageLayer(this.imageRef.current, this.props.cldImg, this.props.plugins, SDKAnalyticsConstants);\n };\n /**\n * On update, we cancel running plugins and update image instance with the state of user\n * cloudinaryImage and the state of plugins.\n */\n AdvancedImage.prototype.componentDidUpdate = function () {\n cancelCurrentlyRunningPlugins(this.htmlLayerInstance.htmlPluginState);\n // call html layer to update the dom again with plugins and reset toBeCanceled\n this.htmlLayerInstance.update(this.props.cldImg, this.props.plugins, SDKAnalyticsConstants);\n };\n /**\n * On unmount, we cancel the currently running plugins, and destroy the html layer instance\n */\n AdvancedImage.prototype.componentWillUnmount = function () {\n // Safely cancel running events on unmount.\n cancelCurrentlyRunningPlugins(this.htmlLayerInstance.htmlPluginState);\n this.htmlLayerInstance.unmount();\n };\n AdvancedImage.prototype.render = function () {\n var _a = this.props; _a.cldImg; _a.plugins; var otherProps = __rest(_a, [\"cldImg\", \"plugins\"]) // Assume any other props are for the base element\n ;\n if (isBrowser()) { // On client side render\n return React.createElement(\"img\", __assign({ suppressHydrationWarning: true }, otherProps, { ref: this.imageRef }));\n }\n else { // on server side render\n var src = serverSideSrc(this.props.plugins, this.props.cldImg, SDKAnalyticsConstants);\n return React.createElement(\"img\", __assign({}, otherProps, { src: src }));\n }\n };\n return AdvancedImage;\n}(React.Component));\n\nvar VIDEO_ATTRIBUTES_KEYS = ['controls', 'loop', 'muted', 'poster', 'preload', 'autoplay', 'playsinline'];\n/**\n * @memberOf ReactSDK\n * @type {Component}\n * @description The Cloudinary video component.\n * @prop {CloudinaryVideo} transformation Generated by @cloudinary/url-gen\n * @prop {Plugins} plugins Advanced image component plugins lazyload()\n * @prop videoAttributes Optional attributes include controls, loop, muted, poster, preload, autoplay\n * @prop videoEvents Optional video events include play, loadstart, playing, error, ended\n * @prop {VideoSources} sources Optional sources to generate\n * @example\n * <caption>\n * Using custom defined resources.\n * </caption>\n * const vid = new CloudinaryVideo('dog', {cloudName: 'demo'});\n * const videoEl = useRef();\n * const sources = [\n * {\n * type: 'mp4',\n * codecs: ['vp8', 'vorbis'],\n * transcode: videoCodec(auto())\n * },\n * {\n * type: 'webm',\n * codecs: ['avc1.4D401E', 'mp4a.40.2'],\n * videoCodec: videoCodec(auto())\n * }];\n *\n * return <AdvancedVideo cldVid={vid} sources={sources} ref={videoEl} controls />\n */\nvar AdvancedVideo = /** @class */ (function (_super) {\n __extends(AdvancedVideo, _super);\n function AdvancedVideo(props) {\n var _this = _super.call(this, props) || this;\n _this.videoRef = react.exports.createRef();\n _this.attachRef = _this.attachRef.bind(_this);\n return _this;\n }\n /**\n * On mount, creates a new HTMLVideoLayer instance and initializes with ref to video element,\n * user generated cloudinaryVideo and the plugins to be used.\n */\n AdvancedVideo.prototype.componentDidMount = function () {\n this.htmlVideoLayerInstance = new HtmlVideoLayer(this.videoRef && this.videoRef.current, this.props.cldVid, this.props.sources, this.props.plugins, this.getVideoAttributes(), this.props.cldPoster, {\n useFetchFormat: this.props.useFetchFormat\n });\n };\n /**\n * On update, we cancel running plugins and update the video instance if the src\n * was changed.\n */\n AdvancedVideo.prototype.componentDidUpdate = function () {\n cancelCurrentlyRunningPlugins(this.htmlVideoLayerInstance.htmlPluginState);\n // call html layer to update the dom again with plugins and reset toBeCanceled\n this.htmlVideoLayerInstance.update(this.props.cldVid, this.props.sources, this.props.plugins, this.getVideoAttributes(), this.props.cldPoster);\n };\n /**\n * On unmount, we cancel the currently running plugins.\n */\n AdvancedVideo.prototype.componentWillUnmount = function () {\n // safely cancel running events on unmount\n cancelCurrentlyRunningPlugins(this.htmlVideoLayerInstance.htmlPluginState);\n };\n /**\n * Returns video attributes.\n */\n AdvancedVideo.prototype.getVideoAttributes = function () {\n var _this = this;\n var result = {};\n VIDEO_ATTRIBUTES_KEYS.forEach(function (key) {\n if (key in _this.props) {\n result[key] = _this.props[key];\n }\n });\n return result;\n };\n /**\n * Attach both this.videoRef and props.innerRef as ref to the given element.\n * @param element - the element to attach a ref to\n */\n AdvancedVideo.prototype.attachRef = function (element) {\n this.videoRef.current = element;\n var innerRef = this.props.innerRef;\n if (innerRef) {\n if (innerRef instanceof Function) {\n innerRef(element);\n }\n else {\n innerRef.current = element;\n }\n }\n };\n AdvancedVideo.prototype.render = function () {\n var _a = this.props; _a.cldVid; _a.cldPoster; _a.plugins; _a.sources; _a.innerRef; _a.useFetchFormat; var videoAttrs = __rest(_a, [\"cldVid\", \"cldPoster\", \"plugins\", \"sources\", \"innerRef\", \"useFetchFormat\"]) // Assume any other props are for the base element\n ;\n return React.createElement(\"video\", __assign({}, videoAttrs, { ref: this.attachRef }));\n };\n return AdvancedVideo;\n}(react.exports.Component));\n\nexport { AdvancedImage, AdvancedVideo, accessibility, lazyload, placeholder, responsive };\n","/**\n *\n * @private\n * @param {any} a\n */\nfunction isObject(a) {\n if (typeof a !== 'object' || a instanceof Array) {\n return false;\n }\n else {\n return true;\n }\n}\nclass Config {\n filterOutNonSupportedKeys(userProvidedConfig, validKeys) {\n const obj = Object.create({});\n if (isObject(userProvidedConfig)) {\n Object.keys(userProvidedConfig).forEach((key) => {\n if (validKeys.indexOf(key) >= 0) {\n obj[key] = userProvidedConfig[key];\n }\n else {\n console.warn('Warning - unsupported key provided to configuration: ', key);\n }\n });\n return obj;\n }\n else {\n return Object.create({});\n }\n }\n}\nexport default Config;\n","/**\n * This file is for internal constants only.\n * It is not intended for public use and is not part of the public API\n */\n/**\n * @private\n */\nexport const ALLOWED_URL_CONFIG = [\n 'cname',\n 'secureDistribution',\n 'privateCdn',\n 'signUrl',\n 'longUrlSignature',\n 'shorten',\n 'useRootPath',\n 'secure',\n 'forceVersion',\n 'analytics',\n 'queryParams'\n];\n/**\n * @private\n */\nexport const ALLOWED_CLOUD_CONFIG = [\n 'cloudName',\n 'apiKey',\n 'apiSecret',\n 'authToken'\n];\n","import Config from \"./BaseConfig.js\";\nimport { ALLOWED_URL_CONFIG } from \"../internal/internalConstants.js\";\nclass URLConfig extends Config {\n /**\n * @param {IURLConfig} userURLConfig\n */\n constructor(userURLConfig) {\n super();\n const urlConfig = this.filterOutNonSupportedKeys(userURLConfig, ALLOWED_URL_CONFIG);\n Object.assign(this, {\n secure: true\n }, urlConfig);\n }\n extend(userURLConfig) {\n const urlConfig = this.filterOutNonSupportedKeys(userURLConfig, ALLOWED_URL_CONFIG);\n return new URLConfig(Object.assign({}, this, urlConfig));\n }\n /**\n * @param {string} value Sets the cname\n */\n setCname(value) {\n this.cname = value;\n return this;\n }\n /**\n * @param {string} value Sets the secureDistribution\n */\n setSecureDistribution(value) {\n this.secureDistribution = value;\n return this;\n }\n /**\n * @param {boolean} value Sets whether to use a private CDN (Removes cloudName from URL)\n */\n setPrivateCdn(value) {\n this.privateCdn = value;\n return this;\n }\n /**\n * @param value Sets whether or not to sign the URL\n */\n setSignUrl(value) {\n this.signUrl = value;\n return this;\n }\n /**\n * @param value Sets whether or not to use a long signature\n */\n setLongUrlSignature(value) {\n this.longUrlSignature = value;\n return this;\n }\n /**\n * @param value Sets whether or not to shorten the URL\n */\n setShorten(value) {\n this.shorten = value;\n return this;\n }\n /**\n * @param value Sets whether or not to use a root path\n */\n setUseRootPath(value) {\n this.useRootPath = value;\n return this;\n }\n /**\n * @param value Sets whether or not to deliver the asset through https\n */\n setSecure(value) {\n this.secure = value;\n return this;\n }\n /**\n * @param value Sets whether to force a version in the URL\n */\n setForceVersion(value) {\n this.forceVersion = value;\n return this;\n }\n /**\n * @param params Sets additional params\n */\n setQueryParams(params) {\n this.queryParams = params;\n return this;\n }\n}\nexport default URLConfig;\n","/**\n * @summary SDK\n * @memberOf SDK\n */\nclass QualifierValue {\n /**\n *\n * @param {QualifierValue | QualifierValue[] | any[] | string | number}qualifierValue\n */\n constructor(qualifierValue) {\n this.values = [];\n this.delimiter = ':'; // {value}{delimiter}{value}...\n if (this.hasValue(qualifierValue)) {\n this.addValue(qualifierValue);\n }\n }\n /**\n * @description Joins the provided values with the provided delimiter\n */\n toString() {\n return this.values.join(this.delimiter);\n }\n /**\n * @description Checks if the provided argument has a value\n * @param {any} v\n * @private\n * @return {boolean}\n */\n hasValue(v) {\n return typeof v !== 'undefined' && v !== null && v !== '';\n }\n /**\n * @desc Adds a value for the this qualifier instance\n * @param {any} value\n * @return {this}\n */\n addValue(value) {\n // Append value or array of values\n if (Array.isArray(value)) {\n this.values = this.values.concat(value);\n }\n else {\n this.values.push(value);\n }\n // Remove falsy values\n this.values = this.values.filter((v) => this.hasValue(v));\n return this;\n }\n /**\n * @description Sets the delimiter for this instance\n * @param delimiter\n */\n setDelimiter(delimiter) {\n this.delimiter = delimiter;\n return this;\n }\n}\nexport { QualifierValue };\n","class UnsupportedError extends Error {\n constructor(message = 'Unsupported') {\n super(message);\n }\n}\n/**\n * Creates a new UnsupportedError\n * @param message\n */\nfunction createUnsupportedError(message) {\n return new UnsupportedError(message);\n}\nexport { UnsupportedError, createUnsupportedError };\n","import { createUnsupportedError } from \"../utils/unsupportedError.js\";\n/**\n * Returns the action's model\n */\nexport function qualifierToJson() {\n return this._qualifierModel || { error: createUnsupportedError(`unsupported qualifier ${this.constructor.name}`) };\n}\n","import { qualifierToJson } from \"./qualifierToJson.js\";\nexport class QualifierModel {\n constructor() {\n this._qualifierModel = {};\n }\n toJson() {\n return qualifierToJson.apply(this);\n }\n}\n","import { QualifierValue } from './QualifierValue.js';\nimport { QualifierModel } from '../models/QualifierModel.js';\n/**\n * @summary SDK\n * @memberOf SDK\n */\nclass Qualifier extends QualifierModel {\n constructor(key, qualifierValue) {\n super();\n this.delimiter = '_'; // {key}{delimiter}{qualifierValue}\n this.key = key;\n if (qualifierValue instanceof QualifierValue) {\n this.qualifierValue = qualifierValue;\n }\n else {\n this.qualifierValue = new QualifierValue();\n this.qualifierValue.addValue(qualifierValue);\n }\n }\n toString() {\n const { key, delimiter, qualifierValue } = this;\n return `${key}${delimiter}${qualifierValue.toString()}`;\n }\n addValue(value) {\n this.qualifierValue.addValue(value);\n return this;\n }\n}\nexport { Qualifier };\n","import { QualifierValue } from \"../../internal/qualifier/QualifierValue.js\";\nimport { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\n/**\n * @memberOf Qualifiers.Flag\n * @extends {SDK.Qualifier}\n * @description the FlagQualifier class\n */\nclass FlagQualifier extends Qualifier {\n constructor(flagType, flagValue) {\n let qualifierValue;\n if (flagValue) {\n qualifierValue = new QualifierValue([flagType, `${flagValue}`]).setDelimiter(':');\n }\n else {\n qualifierValue = flagType;\n }\n super('fl', qualifierValue);\n this.flagValue = flagValue;\n }\n toString() {\n return super.toString().replace(/\\./g, '%2E');\n }\n getFlagValue() {\n return this.flagValue;\n }\n}\nexport { FlagQualifier };\n","/**\n * Sort a map by key\n * @private\n * @param map <string, any>\n * @Return array of map's values sorted by key\n */\nfunction mapToSortedArray(map, flags) {\n const array = Array.from(map.entries());\n // objects from the Array.from() method above are stored in array of arrays:\n // [[qualifierKey, QualifierObj], [qualifierKey, QualifierObj]]\n // Flags is an array of FlagQualifierObj\n // We need to convert it to the same form: [flagQualifier] => ['fl', flagQualifier]\n flags.forEach((flag) => {\n array.push(['fl', flag]); // push ['fl', flagQualifier]\n });\n return array.sort().map((v) => v[1]);\n}\n/**\n * Checks if `value` is a string.\n * @private\n * @param {*} value The value to check.\n * @return {boolean} `true` if `value` is a string, else `false`.\n */\nfunction isString(value) {\n return (typeof value === 'string' || value instanceof String);\n}\nexport { isString, mapToSortedArray };\n","import { createUnsupportedError } from \"../utils/unsupportedError.js\";\n/**\n * Returns the action's model\n */\nexport function actionToJson() {\n var _a, _b, _c;\n const actionModelIsNotEmpty = this._actionModel && Object.keys(this._actionModel).length;\n const sourceTransformationError = (_c = (_b = (_a = this._actionModel) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.transformation) === null || _c === void 0 ? void 0 : _c.error;\n // Should return error when there is unsupported transformation inside\n if (sourceTransformationError && sourceTransformationError instanceof Error) {\n return { error: sourceTransformationError };\n }\n if (actionModelIsNotEmpty) {\n return this._actionModel;\n }\n return { error: createUnsupportedError(`unsupported action ${this.constructor.name}`) };\n}\n","import { actionToJson } from \"./actionToJson.js\";\nexport class ActionModel {\n constructor() {\n this._actionModel = {};\n }\n toJson() {\n return actionToJson.apply(this);\n }\n}\n","import { FlagQualifier } from \"../qualifiers/flag/FlagQualifier.js\";\nimport { Qualifier } from \"./qualifier/Qualifier.js\";\nimport { mapToSortedArray } from \"./utils/dataStructureUtils.js\";\nimport { ActionModel } from \"./models/ActionModel.js\";\n/**\n * @summary SDK\n * @memberOf SDK\n * @description Defines the category of transformation to perform.\n */\nclass Action extends ActionModel {\n constructor() {\n super(...arguments);\n // We're using map, to overwrite existing keys. for example:\n // addParam(w_100).addQualifier(w_200) should result in w_200. and not w_100,w_200\n this.qualifiers = new Map();\n // Unlike regular qualifiers, there can be multiple flags in each url component /fl_1,fl_2/\n // If the falgs are added to the qualifiers map, only a single flag could exist in a component (it's a map)\n // So flags are stored separately until the very end because of that reason\n this.flags = [];\n this.delimiter = ','; // {qualifier}{delimiter}{qualifier} for example: `${'w_100'}${','}${'c_fill'}`\n this.actionTag = ''; // A custom name tag to identify this action in the future\n }\n prepareQualifiers() { }\n /**\n * @description Returns the custom name tag that was given to this action\n * @return {string}\n */\n getActionTag() {\n return this.actionTag;\n }\n /**\n * @description Sets the custom name tag for this action\n * @return {this}\n */\n setActionTag(tag) {\n this.actionTag = tag;\n return this;\n }\n /**\n * @description Calls toString() on all child qualifiers (implicitly by using .join()).\n * @return {string}\n */\n toString() {\n this.prepareQualifiers();\n return mapToSortedArray(this.qualifiers, this.flags).join(this.delimiter);\n }\n /**\n * @description Adds the parameter to the action.\n * @param {SDK.Qualifier} qualifier\n * @return {this}\n */\n addQualifier(qualifier) {\n // if string, find the key and value\n if (typeof qualifier === 'string') {\n const [key, value] = qualifier.toLowerCase().split('_');\n if (key === 'fl') {\n // if string qualifier is a flag, store it in the flags arrays\n this.flags.push(new FlagQualifier(value));\n }\n else {\n // if the string qualifier is not a flag, create a new qualifier from it\n this.qualifiers.set(key, new Qualifier(key, value));\n }\n }\n else {\n // if a qualifier object, insert to the qualifiers map\n this.qualifiers.set(qualifier.key, qualifier);\n }\n return this;\n }\n /**\n * @description Adds a flag to the current action.\n * @param {Qualifiers.Flag} flag\n * @return {this}\n */\n addFlag(flag) {\n if (typeof flag === 'string') {\n this.flags.push(new FlagQualifier(flag));\n }\n else {\n if (flag instanceof FlagQualifier) {\n this.flags.push(flag);\n }\n }\n return this;\n }\n addValueToQualifier(qualifierKey, qualifierValue) {\n this.qualifiers.get(qualifierKey).addValue(qualifierValue);\n return this;\n }\n}\nexport { Action };\n","/**\n * Returns RGB or Color\n * @private\n * @param color\n */\nexport function prepareColor(color) {\n if (color) {\n return color.match(/^#/) ? `rgb:${color.substr(1)}` : color;\n }\n else {\n return color;\n }\n}\n","import { Action } from \"../../../internal/Action.js\";\nimport { QualifierValue } from \"../../../internal/qualifier/QualifierValue.js\";\nimport { Qualifier } from \"../../../internal/qualifier/Qualifier.js\";\nimport { prepareColor } from \"../../../internal/utils/prepareColor.js\";\n/**\n * @extends SDK.Action\n * @description A class for background transformations.\n */\nclass BackgroundColor extends Action {\n constructor(color) {\n super();\n this._actionModel = {};\n this.addQualifier(new Qualifier('b', new QualifierValue(prepareColor(color)).setDelimiter('_')));\n this._actionModel.color = color;\n this._actionModel.actionType = 'backgroundColor';\n }\n static fromJson(actionModel) {\n const { color } = actionModel;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(color);\n return result;\n }\n}\nexport { BackgroundColor };\n","import { createUnsupportedError } from \"./utils/unsupportedError.js\";\n/**\n * @summary SDK\n * @memberOf SDK\n * @description Defines an action that's a string literal, no validations or manipulations are performed\n */\nclass RawAction {\n constructor(raw) {\n this.raw = raw;\n }\n toString() {\n return this.raw;\n }\n toJson() {\n return { error: createUnsupportedError(`unsupported action ${this.constructor.name}`) };\n }\n}\nexport { RawAction };\n","/**\n * Validates obj is an instance of IErrorObject\n * @param obj\n */\nfunction isErrorObject(obj) {\n const errorObj = obj;\n return ('error' in errorObj) && !!errorObj.error;\n}\nexport { isErrorObject };\n","/**\n * @description Defines flags that you can use to alter the default transformation behavior.\n * @namespace Flag\n * @memberOf Qualifiers\n */\nimport { FlagQualifier } from \"./flag/FlagQualifier.js\";\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Used when delivering a video file as an image format that supports animation, such as animated WebP.\n * Plays all frames rather than just delivering the first one as a static image.\n * Use this flag in addition to the flag or parameter controlling the delivery format,\n * for example f_auto or fl_awebp.\n\n * Note: When delivering a video in GIF format, it is delivered as an animated GIF by default and this flag is not\n * necessary. To deliver a single frame of a video in GIF format, use the page parameter.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction animated() {\n return new FlagQualifier('animated');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description When converting animated images to WebP format, generate an animated WebP from all the frames in the\n * original\n * animated file instead of only from the first still frame.\n *\n * Note that animated WebPs are not supported in all browsers and versions.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction animatedWebP() {\n return new FlagQualifier('awebp');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description When used together with automatic quality (q_auto):\n * allow switching to PNG8 encoding if the quality algorithm decides that it's more efficient.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction anyFormat() {\n return new FlagQualifier('any_format');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description When converting animated images to PNG format, generates an animated PNG from all the frames in the\n * original\n * animated file instead of only from the first still frame.\n *\n * Note that animated PNGs are not supported in all browsers and versions.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction animatedPng() {\n return new FlagQualifier('apng');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Trims pixels according to a clipping path included in the original image\n * (e.g., manually created using PhotoShop).\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction clip() {\n return new FlagQualifier('clip');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Trims pixels according to a clipping path included in the original image (e.g., manually created\n * using PhotoShop)\n * using an evenodd clipping rule.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction clipEvenOdd() {\n return new FlagQualifier('clip_evenodd');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Instructs Cloudinary to clear all image meta-data (IPTC, Exif and XMP) while applying an incoming\n * transformation.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction forceStrip() {\n return new FlagQualifier('force_strip');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Allows custom flag\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction custom(value) {\n return new FlagQualifier(value);\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Adds ICC color space metadata to the image, even when the original image doesn't contain any ICC data.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction forceIcc() {\n return new FlagQualifier('force_icc');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Delivers the image as an attachment.\n * @param {string} filename The attachment's filename\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction attachment(filename) {\n return new FlagQualifier('attachment', filename);\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Returns metadata of the input asset and of the transformed output asset in JSON instead of the\n * transformed image.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction getInfo() {\n return new FlagQualifier('getinfo');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Deliver an HLS adaptive bitrate streaming file as HLS v3 instead of the default version (HLS v4).\n * Delivering in this format requires a private CDN configuration.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction hlsv3() {\n return new FlagQualifier('hlsv3');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Sets the cache-control to immutable for the asset.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction immutableCache() {\n return new FlagQualifier('immutable_cache');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description * Allows specifying only either width or height so the value of the second axis remains as is, and is not\n * recalculated to maintain the aspect ratio of the original image.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction ignoreInitialAspectRatio() {\n return new FlagQualifier('ignore_aspect_ratio');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Keeps the copyright related fields when stripping meta-data.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction keepAttribution() {\n return new FlagQualifier('keep_attribution');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * Keep the Display Aspect Ratio metadata of the uploaded video (if it’s different from the current video\n * dimensions).\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction keepDar() {\n return new FlagQualifier('keep_dar');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Keeps all meta-data.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction keepIptc() {\n return new FlagQualifier('keep_iptc');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Applies all chained transformations, until a transformation component that includes this flag, on the last added\n * overlay or underlay instead of applying on the containing image.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction layerApply() {\n return new FlagQualifier('layer_apply');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Automatically use lossy compression when delivering animated GIF files.\n *\n * This flag can also be used as a conditional flag for delivering PNG files: it tells Cloudinary to deliver the\n * image in PNG format (as requested) unless there is no transparency channel - in which case deliver in JPEG\n * format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction lossy() {\n return new FlagQualifier('lossy');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Convert the audio channel to mono\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction mono() {\n return new FlagQualifier('mono');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Used internally by Position within an Overlay, this flag will tile the overlay across your image.\n *\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/transformation_reference#fl_no_overflow|Overflow in overlays}\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction noOverflow() {\n return new FlagQualifier('no_overflow');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Don't stream a video that is currently being generated on the fly. Wait until the video is fully generated.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction noStream() {\n return new FlagQualifier('no_stream');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Generate PNG images in the png24 format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction png24() {\n return new FlagQualifier('png24');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Generate PNG images in the png32 format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction png32() {\n return new FlagQualifier('png32');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Generate PNG images in the PNG8 format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction png8() {\n return new FlagQualifier('png8');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description When used with automatic fetch_format (f_auto): ensures that images with a transparency channel will be\n * delivered in PNG format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction preserveTransparency() {\n return new FlagQualifier('preserve_transparency');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Generates a JPG image using the progressive (interlaced) JPG format.\n *\n * This format allows the browser to quickly show a low-quality rendering of the image until the full-quality\n * image is loaded.\n *\n * @param {string} mode? The mode to determine a specific progressive outcome as follows:\n * * semi - A smart optimization of the decoding time, compression level and progressive rendering\n * (less iterations). This is the default mode when using q_auto.\n * * steep - Delivers a preview very quickly, and in a single later phase improves the image to\n * the required resolution.\n * * none - Use this to deliver a non-progressive image. This is the default mode when setting\n * a specific value for quality.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction progressive(mode) {\n return new FlagQualifier('progressive', mode);\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the overlaid region\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction regionRelative() {\n return new FlagQualifier('region_relative');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Reduces the image to one flat pixelated layer (as opposed to the default vector based graphic) in\n * order to enable\n * PDF resizing and overlay manipulations.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction rasterize() {\n return new FlagQualifier('rasterize');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the containing image instead of the added layer.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction relative() {\n return new FlagQualifier('relative');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Instructs Cloudinary to run a sanitizer on the image (relevant only for the SVG format).\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction sanitize() {\n return new FlagQualifier('sanitize');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Splices the video stipulated as an overlay on to the end of the container video instead of adding it as an\n * overlay.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction splice() {\n return new FlagQualifier('splice');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Instructs Cloudinary to clear all ICC color profile data included with the image.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction stripProfile() {\n return new FlagQualifier('strip_profile');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description If the requested video transformation has already been generated, this flag works identically to\n * Flag::attachment.\n *\n * However, if the video transformation is being requested for the first time, this flag causes the video download\n * to begin immediately, streaming it as a fragmented video file.\n *\n * In contrast, if the regular fl_attachment flag is used when a user requests a new video transformation,\n * the download will begin only after the complete transformed video has been generated.\n *\n * Most standard video players successfully play fragmented video files without issue.\n *\n * @param {string} filename The attachment's filename\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction streamingAttachment(filename) {\n return new FlagQualifier('streaming_attachment', filename);\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Generates TIFF images using LZW compression and in the TIFF8 format.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction tiff8Lzw() {\n return new FlagQualifier('tiff8_lzw');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Used internally by Position within an Overlay, this flag will tile the overlay across your image.\n *\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/layers#automatic_tiling|Tiling overlay}\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction tiled() {\n return new FlagQualifier('tiled');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Truncate (trim) a video file based on the start time defined in the metadata (relevant only where the metadata\n * includes a directive to play only a section of the video).\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction truncateTS() {\n return new FlagQualifier('truncate_ts');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description Create a waveform image (in the format specified by the file extension) from the audio or video file.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction waveform() {\n return new FlagQualifier('waveform');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.Flag\n * @description A qualifier that ensures that an alpha channel is not applied to a TIFF image if it is a mask channel.\n * @return {Qualifiers.Flag.FlagQualifier}\n */\nfunction ignoreMaskChannels() {\n return new FlagQualifier('ignore_mask_channels');\n}\nconst Flag = {\n animated, anyFormat, animatedPng, animatedWebP,\n clipEvenOdd, lossy, preserveTransparency, png8, png24, png32, progressive, rasterize,\n sanitize, stripProfile, tiff8Lzw, attachment, forceIcc, forceStrip, getInfo, immutableCache,\n keepAttribution, keepIptc, custom, streamingAttachment, hlsv3, keepDar, noStream, mono,\n layerApply, relative, regionRelative, splice, truncateTS, waveform, ignoreInitialAspectRatio, clip,\n tiled, noOverflow, ignoreMaskChannels\n};\nexport { Flag, animated, anyFormat, animatedPng, animatedWebP, clipEvenOdd, lossy, preserveTransparency, png8, png24, png32, progressive, rasterize, sanitize, stripProfile, tiff8Lzw, attachment, forceIcc, forceStrip, getInfo, immutableCache, keepAttribution, keepIptc, custom, streamingAttachment, hlsv3, keepDar, noStream, mono, layerApply, relative, regionRelative, splice, truncateTS, waveform, ignoreInitialAspectRatio, clip, tiled, noOverflow, ignoreMaskChannels };\n","import { QualifierValue } from \"../../internal/qualifier/QualifierValue.js\";\n/**\n * @memberOf Qualifiers.Format\n * @extends {SDK.QualifierValue}\n */\nclass FormatQualifier extends QualifierValue {\n constructor(val) {\n super(val);\n this.val = val;\n }\n getValue() {\n return this.val;\n }\n}\nexport { FormatQualifier };\n","/**\n * Flip keys and values for given object\n * @param obj\n */\nfunction objectFlip(obj) {\n const result = {};\n Object.keys(obj).forEach((key) => {\n result[obj[key]] = key;\n });\n return result;\n}\nexport { objectFlip };\n","/**\n * This file is for internal constants only.\n * It is not intended for public use and is not part of the public API\n */\nimport { objectFlip } from \"./utils/objectFlip.js\";\nexport const CONDITIONAL_OPERATORS = {\n \"=\": \"eq\",\n \"!=\": \"ne\",\n \"<\": \"lt\",\n \">\": \"gt\",\n \"<=\": \"lte\",\n \">=\": \"gte\",\n \"&&\": \"and\",\n \"||\": \"or\",\n \"*\": \"mul\",\n \"/\": \"div\",\n \"+\": \"add\",\n \"-\": \"sub\",\n \"^\": \"pow\"\n};\nexport const RESERVED_NAMES = {\n \"aspect_ratio\": \"ar\",\n \"aspectRatio\": \"ar\",\n \"current_page\": \"cp\",\n \"currentPage\": \"cp\",\n \"duration\": \"du\",\n \"face_count\": \"fc\",\n \"faceCount\": \"fc\",\n \"height\": \"h\",\n \"initial_aspect_ratio\": \"iar\",\n \"initial_height\": \"ih\",\n \"initial_width\": \"iw\",\n \"initialAspectRatio\": \"iar\",\n \"initialHeight\": \"ih\",\n \"initialWidth\": \"iw\",\n \"initial_duration\": \"idu\",\n \"initialDuration\": \"idu\",\n \"page_count\": \"pc\",\n \"page_x\": \"px\",\n \"page_y\": \"py\",\n \"pageCount\": \"pc\",\n \"pageX\": \"px\",\n \"pageY\": \"py\",\n \"tags\": \"tags\",\n \"width\": \"w\",\n \"trimmed_aspect_ratio\": \"tar\",\n \"current_public_id\": \"cpi\",\n \"initial_density\": \"idn\",\n \"page_names\": \"pgnames\"\n};\nexport const ACTION_TYPE_TO_CROP_MODE_MAP = {\n limitFit: 'limit',\n limitFill: 'lfill',\n minimumFit: 'mfit',\n thumbnail: 'thumb',\n limitPad: 'lpad',\n minimumPad: 'mpad',\n autoPad: 'auto_pad'\n};\nexport const ACTION_TYPE_TO_DELIVERY_MODE_MAP = {\n colorSpace: 'cs',\n dpr: 'dpr',\n density: 'dn',\n defaultImage: 'd',\n format: 'f',\n quality: 'q'\n};\nexport const ACTION_TYPE_TO_EFFECT_MODE_MAP = {\n redEye: 'redeye',\n advancedRedEye: 'adv_redeye',\n oilPaint: 'oil_paint',\n unsharpMask: 'unsharp_mask',\n makeTransparent: 'make_transparent',\n generativeRestore: 'gen_restore',\n upscale: 'upscale'\n};\nexport const ACTION_TYPE_TO_QUALITY_MODE_MAP = {\n autoBest: 'auto:best',\n autoEco: 'auto:eco',\n autoGood: 'auto:good',\n autoLow: 'auto:low',\n jpegminiHigh: 'jpegmini:1',\n jpegminiMedium: 'jpegmini:2',\n jpegminiBest: 'jpegmini:0'\n};\nexport const ACTION_TYPE_TO_STREAMING_PROFILE_MODE_MAP = {\n fullHd: 'full_hd',\n fullHdWifi: 'full_hd_wifi',\n fullHdLean: 'full_hd_lean',\n hdLean: 'hd_lean'\n};\nexport const CHROMA_VALUE_TO_CHROMA_MODEL_ENUM = {\n 444: \"CHROMA_444\",\n 420: \"CHROMA_420\"\n};\nexport const COLOR_SPACE_MODEL_MODE_TO_COLOR_SPACE_MODE_MAP = {\n 'noCmyk': 'no_cmyk',\n 'keepCmyk': 'keep_cmyk',\n 'tinySrgb': 'tinysrgb',\n 'srgbTrueColor': 'srgb:truecolor'\n};\nexport const ACTION_TYPE_TO_BLEND_MODE_MAP = {\n 'antiRemoval': 'anti_removal'\n};\nexport const CHROMA_MODEL_ENUM_TO_CHROMA_VALUE = objectFlip(CHROMA_VALUE_TO_CHROMA_MODEL_ENUM);\nexport const COLOR_SPACE_MODE_TO_COLOR_SPACE_MODEL_MODE_MAP = objectFlip(COLOR_SPACE_MODEL_MODE_TO_COLOR_SPACE_MODE_MAP);\nexport const CROP_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_CROP_MODE_MAP);\nexport const DELIVERY_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_DELIVERY_MODE_MAP);\nexport const EFFECT_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_EFFECT_MODE_MAP);\nexport const QUALITY_MODE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_QUALITY_MODE_MAP);\nexport const STREAMING_PROFILE_TO_ACTION_TYPE_MAP = objectFlip(ACTION_TYPE_TO_STREAMING_PROFILE_MODE_MAP);\n","import { Action } from \"../../internal/Action.js\";\nimport { FormatQualifier } from \"../../qualifiers/format/FormatQualifier.js\";\nimport { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { DELIVERY_MODE_TO_ACTION_TYPE_MAP } from \"../../internal/internalConstants.js\";\n/**\n * @description Qualifies the delivery of an asset.\n * @memberOf Actions.Delivery\n * @extends SDK.Action\n */\nclass DeliveryAction extends Action {\n /**\n * @param {string} deliveryKey A generic Delivery Action Key (such as q, f, dn, etc.)\n * @param {string} deliveryType A Format Qualifiers for the action, such as Quality.auto()\n * @param {string} modelProperty internal model property of the action, for example quality uses `level` while dpr uses `density`\n * @see Visit {@link Actions.Delivery|Delivery} for an example\n */\n constructor(deliveryKey, deliveryType, modelProperty) {\n super();\n this._actionModel = {};\n let deliveryTypeValue;\n if (deliveryType instanceof FormatQualifier) {\n deliveryTypeValue = deliveryType.getValue();\n }\n else {\n deliveryTypeValue = deliveryType;\n }\n this._actionModel.actionType = DELIVERY_MODE_TO_ACTION_TYPE_MAP[deliveryKey];\n this._actionModel[modelProperty] = deliveryTypeValue;\n this.addQualifier(new Qualifier(deliveryKey, deliveryType));\n }\n}\nexport { DeliveryAction };\n","/**\n * @description Contains functions to select the mode when using a progressive format.\n * <b>Learn more</b>: {@link https://cloudinary.com/documentation/transformation_reference#fl_progressive|Progressive modes}\n * @memberOf Qualifiers\n * @namespace Progressive\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {format} from \"@cloudinary/url-gen/actions/delivery\";\n * import {jpg} from \"@cloudinary/url-gen/qualifiers/format\";\n * import {steep} from \"@cloudinary/url-gen/qualifiers/progressive\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.delivery(format(jpg()).progressive(steep()))\n */\nimport { FlagQualifier } from \"./flag/FlagQualifier.js\";\nclass ProgressiveQualifier extends FlagQualifier {\n constructor(mode) {\n super('progressive', mode);\n }\n}\n/**\n * @memberOf Qualifiers.Progressive\n */\nfunction none() {\n return new ProgressiveQualifier('none');\n}\n/**\n * @memberOf Qualifiers.Progressive\n */\nfunction semi() {\n return new ProgressiveQualifier('semi');\n}\n/**\n * @memberOf Qualifiers.Progressive\n */\nfunction steep() {\n return new ProgressiveQualifier('steep');\n}\n/**\n * @memberOf Qualifiers.Progressive\n */\nfunction progressive() {\n return new ProgressiveQualifier();\n}\nconst Progressive = {\n semi,\n none,\n steep,\n progressive,\n ProgressiveQualifier\n};\nexport { Progressive, semi, none, steep, progressive, ProgressiveQualifier };\n","import { lossy, preserveTransparency, progressive } from \"../../qualifiers/flag.js\";\nimport { DeliveryAction } from \"./DeliveryAction.js\";\nimport { ProgressiveQualifier } from \"../../qualifiers/progressive.js\";\n/**\n * @memberOf Actions.Delivery\n * @extends {Actions.Delivery.DeliveryAction}\n * @see Visit {@link Actions.Delivery|Delivery} for an example\n */\nclass DeliveryFormatAction extends DeliveryAction {\n constructor(deliveryKey, deliveryType) {\n super(deliveryKey, deliveryType, 'formatType');\n }\n /**\n * @description Uses lossy compression when delivering animated GIF files.\n * @return {this}\n */\n lossy() {\n this._actionModel.lossy = true;\n this.addFlag(lossy());\n return this;\n }\n /**\n * @description Uses progressive compression when delivering JPG file format.\n * @return {this}\n */\n progressive(mode) {\n if (mode instanceof ProgressiveQualifier) {\n this._actionModel.progressive = { mode: mode.getFlagValue() };\n this.addFlag(mode);\n }\n else {\n this._actionModel.progressive = { mode: mode };\n this.addFlag(progressive(mode));\n }\n return this;\n }\n /**\n * @description Ensures that images with a transparency channel are delivered in PNG format.\n */\n preserveTransparency() {\n this._actionModel.preserveTransparency = true;\n this.addFlag(preserveTransparency());\n return this;\n }\n static fromJson(actionModel) {\n const { formatType, lossy, progressive, preserveTransparency } = actionModel;\n let result;\n if (formatType) {\n result = new this('f', formatType);\n }\n else {\n result = new this('f');\n }\n if (progressive) {\n if (progressive.mode) {\n result.progressive(progressive.mode);\n }\n else {\n result.progressive();\n }\n }\n lossy && result.lossy();\n preserveTransparency && result.preserveTransparency();\n return result;\n }\n}\nexport { DeliveryFormatAction };\n","import { Action } from \"../internal/Action.js\";\nimport { BackgroundColor } from \"../actions/background/actions/BackgroundColor.js\";\nimport { FlagQualifier } from \"../qualifiers/flag/FlagQualifier.js\";\nimport { RawAction } from \"../internal/RawAction.js\";\nimport { isErrorObject } from \"../internal/models/IErrorObject.js\";\nimport { DeliveryFormatAction } from \"../actions/delivery/DeliveryFormatAction.js\";\n/**\n * @summary SDK\n * @description - Defines how to transform an asset\n * @memberOf SDK\n */\nclass Transformation {\n constructor() {\n this.actions = [];\n }\n /**\n * @param {SDK.Action | string} action\n * @return {this}\n */\n addAction(action) {\n let actionToAdd;\n if (typeof action === 'string') {\n if (action.indexOf('/') >= 0) {\n throw 'addAction cannot accept a string with a forward slash in it - /, use .addTransformation() instead';\n }\n else {\n actionToAdd = new RawAction(action);\n }\n }\n else {\n actionToAdd = action;\n }\n this.actions.push(actionToAdd);\n return this;\n }\n /**\n * @description Allows the injection of a raw transformation as a string into the transformation, or a Transformation instance that was previously created\n * @param {string | SDK.Transformation} tx\n * @example\n * import {Transformation} from \"@cloudinary/url-gen\";\n *\n * const transformation = new Transformation();\n * transformation.addTransformation('w_100/w_200/w_300');\n * @return {this}\n */\n addTransformation(tx) {\n if (tx instanceof Transformation) {\n // Concat the new actions into the existing actions\n this.actions = this.actions.concat(tx.actions);\n }\n else {\n this.actions.push(new RawAction(tx));\n }\n return this;\n }\n /**\n * @return {string}\n */\n toString() {\n return this.actions\n .map((action) => {\n return action.toString();\n })\n .filter((a) => a)\n .join('/');\n }\n /**\n * @description Delivers an animated GIF.\n * @param {AnimatedAction} animatedAction\n * @return {this}\n */\n animated(animatedAction) {\n return this.addAction(animatedAction);\n }\n /**\n * @description Adds a border around the image.\n * @param {Border} borderAction\n * @return {this}\n */\n border(borderAction) {\n return this.addAction(borderAction);\n }\n /**\n * @description Adjusts the shape of the delivered image. </br>\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/effects_and_artistic_enhancements#distort|Shape changes and distortion effects}\n * @param {IReshape} reshapeAction\n * @return {this}\n */\n reshape(reshapeAction) {\n return this.addAction(reshapeAction);\n }\n /**\n * @description Resize the asset using provided resize action\n * @param {ResizeSimpleAction} resizeAction\n * @return {this}\n */\n resize(resizeAction) {\n return this.addAction(resizeAction);\n }\n /**\n * @desc An alias to Action Delivery.quality\n * @param {string|number} quality\n * @return {this}\n */\n quality(quality) {\n this.addAction(new DeliveryFormatAction('q', quality));\n return this;\n }\n /**\n * @desc An alias to Action Delivery.format\n * @param {string} format\n * @return {this}\n */\n format(format) {\n this.addAction(new DeliveryFormatAction('f', format));\n return this;\n }\n /**\n * @description Rounds the specified corners of an image.\n * @param roundCornersAction\n * @return {this}\n */\n roundCorners(roundCornersAction) {\n return this.addAction(roundCornersAction);\n }\n /**\n * @description Adds an overlay over the base image.\n * @param {LayerAction} overlayAction\n * @return {this}\n */\n overlay(overlayAction) {\n return this.addAction(overlayAction);\n }\n /**\n * @description Adds an underlay under the base image.\n * @param {LayerAction} underlayAction\n * @return {this}\n */\n underlay(underlayAction) {\n underlayAction.setLayerType('u');\n return this.addAction(underlayAction);\n }\n /**\n * @description Defines an new user variable.\n * @param {VariableAction} variableAction\n * @return {this}\n */\n addVariable(variableAction) {\n return this.addAction(variableAction);\n }\n /**\n * @description Specifies a condition to be met before applying a transformation.\n * @param {ConditionalAction} conditionAction\n * @return {this}\n */\n conditional(conditionAction) {\n return this.addAction(conditionAction);\n }\n /**\n * @description Applies a filter or an effect on an asset.\n * @param {SimpleEffectAction} effectAction\n * @return {this}\n */\n effect(effectAction) {\n return this.addAction(effectAction);\n }\n /**\n * @description Applies adjustment effect on an asset.\n * @param action\n * @return {this}\n */\n adjust(action) {\n return this.addAction(action);\n }\n /**\n * @description Rotates the asset by the given angle.\n * @param {RotateAction} rotateAction\n * @return {this}\n */\n rotate(rotateAction) {\n return this.addAction(rotateAction);\n }\n /**\n * @description Applies a pre-defined named transformation of the given name.\n * @param {NamedTransformation} namedTransformation\n * @return {this}\n */\n namedTransformation(namedTransformation) {\n return this.addAction(namedTransformation);\n }\n /**\n * @description Applies delivery action.\n * @param deliveryAction\n * @return {this}\n */\n delivery(deliveryAction) {\n return this.addAction(deliveryAction);\n }\n /**\n * @description Sets the color of the background.\n * @param {Qualifiers.Color} color\n * @return {this}\n */\n backgroundColor(color) {\n return this.addAction(new BackgroundColor(color));\n }\n /**\n * @description Adds a layer in a Photoshop document.\n * @param action\n * @return {this}\n */\n psdTools(action) {\n return this.addAction(action);\n }\n /**\n * @description Extracts an image or a page using an index, a range, or a name from a layered media asset.\n * @param action\n * @return {this}\n */\n extract(action) {\n return this.addAction(action);\n }\n /**\n * @description Adds a flag as a separate action.\n * @param {Qualifiers.Flag | string} flagQualifier\n * @return {this}\n */\n addFlag(flagQualifier) {\n const action = new Action();\n let flagToAdd = flagQualifier;\n if (typeof flagQualifier === 'string') {\n flagToAdd = new FlagQualifier(flagQualifier);\n }\n action.addQualifier(flagToAdd);\n return this.addAction(action);\n }\n /**\n * @description Inject a custom function into the image transformation pipeline.\n * @return {this}\n */\n customFunction(customFunction) {\n return this.addAction(customFunction);\n }\n /**\n * Transcodes the video (or audio) to another format.\n * @param {Action} action\n * @return {this}\n */\n transcode(action) {\n return this.addAction(action);\n }\n /**\n * Applies the specified video edit action.\n *\n * @param {videoEditType} action\n * @return {this}\n */\n videoEdit(action) {\n return this.addAction(action);\n }\n toJson() {\n const actions = [];\n for (const action of this.actions) {\n const json = action.toJson();\n if (isErrorObject(json)) {\n // Fail early and return an IErrorObject\n return json;\n }\n actions.push(json);\n }\n return { actions };\n }\n}\nexport { Transformation };\n","import { Transformation } from \"./Transformation.js\";\n/**\n * @summary SDK\n * @extends {SDK.Transformation}\n * @memberOf SDK\n */\nclass ImageTransformation extends Transformation {\n}\nexport { ImageTransformation };\n","import { Transformation } from \"./Transformation.js\";\n/**\n * @summary SDK\n * @extends {SDK.Transformation}\n * @memberOf SDK\n */\nclass VideoTransformation extends Transformation {\n}\nexport { VideoTransformation };\n","/**\n * @description\n * Returns a string representing the float value of the input, if the input was a number-like.\n * Examples:\n * - '1.0' -> '1.0'\n * - 1 -> '1.0'\n * - '5' -> '5.0'\n * - 'auto' -> 'auto'\n * @private\n * @param {string|number} value\n * @return {string}\n */\nexport function toFloatAsString(value) {\n // Turn the input to string\n // The Function will return `returnValue` value if the input is not a number-like expression\n const returnValue = value.toString();\n // if the string contains letters, return the input\n if (returnValue.match(/[A-Z]/gi)) {\n return returnValue;\n }\n // If the leading digit is 0, and we have more than 1 digit, it's not a number.\n // 00, 00000, 0x15 etc.\n if (returnValue.length > 1 && returnValue[0] === '0') {\n return returnValue;\n }\n // Final sanity check, parse the number as a float and check if its NaN\n const isNumberLike = !isNaN(parseFloat(returnValue)) && returnValue.indexOf(':') === -1;\n // If it's a number-like, but the input does not contain a decimal - add it.\n if (isNumberLike && returnValue.indexOf('.') === -1) {\n return `${returnValue}.0`;\n }\n else {\n // If the input already contains a decimal, just return the value\n return returnValue;\n }\n}\n","import { QualifierValue } from \"../../internal/qualifier/QualifierValue.js\";\n/**\n * @memberOf Qualifiers.AspectRatio\n * @extends {SDK.QualifierValue}\n */\nexport class AspectRatioQualifierValue extends QualifierValue {\n}\n","import { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { Action } from \"../../internal/Action.js\";\nimport { toFloatAsString } from \"../../internal/utils/toFloatAsString.js\";\nimport { AspectRatioQualifierValue } from \"../../qualifiers/aspectRatio/AspectRatioQualifierValue.js\";\nimport { ignoreInitialAspectRatio, regionRelative, relative } from \"../../qualifiers/flag.js\";\nimport { FlagQualifier } from \"../../qualifiers/flag/FlagQualifier.js\";\nimport { ACTION_TYPE_TO_CROP_MODE_MAP, CROP_MODE_TO_ACTION_TYPE_MAP } from \"../../internal/internalConstants.js\";\n/**\n * @description Defines a resize using width and height.\n * @extends SDK.Action\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeSimpleAction extends Action {\n /**\n * @param {string} cropType\n * @param {number | string} cropWidth The required width of a transformed asset.\n * @param {number | string} cropHeight The required height of a transformed asset.\n */\n constructor(cropType, cropWidth, cropHeight) {\n super();\n this._actionModel = { dimensions: {} };\n this._actionModel.actionType = CROP_MODE_TO_ACTION_TYPE_MAP[cropType] || cropType;\n this.addQualifier(new Qualifier('c', cropType));\n cropWidth && this.width(cropWidth);\n cropHeight && this.height(cropHeight);\n }\n /**\n * @description Sets the height of the resize\n * @param {string | number} x The height in pixels (if an integer is specified) or as a percentage (if a float is specified).\n */\n height(x) {\n this._actionModel.dimensions.height = x;\n return this.addQualifier(new Qualifier('h', x));\n }\n /**\n * @description Sets the width of the resize\n * @param {string | number} x The width in pixels (if an integer is specified) or as a percentage (if a float is specified).\n */\n width(x) {\n this._actionModel.dimensions.width = x;\n return this.addQualifier(new Qualifier('w', x));\n }\n /**\n * @description Sets the aspect ratio of the asset.\n * For a list of supported types see {@link Qualifiers.AspectRatio|\n * AspectRatio values}\n * @param {AspectRatioType|number|string} ratio The new aspect ratio, specified as a percentage or ratio.\n * @return {this}\n */\n aspectRatio(ratio) {\n // toFloatAsString is used to ensure 1 turns into 1.0\n if (ratio instanceof AspectRatioQualifierValue) {\n this._actionModel.dimensions.aspectRatio = `${ratio}`;\n return this.addQualifier(new Qualifier('ar', ratio));\n }\n if (typeof ratio === 'number' || typeof ratio === 'string') {\n this._actionModel.dimensions.aspectRatio = toFloatAsString(ratio);\n return this.addQualifier(new Qualifier('ar', toFloatAsString(ratio)));\n }\n if (ratio instanceof FlagQualifier) {\n this._actionModel.dimensions.aspectRatio = `${ratio.qualifierValue}`;\n return this.addFlag(ratio);\n }\n }\n /**\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the containing image instead of the added layer.\n * @return {this}\n */\n relative() {\n this._actionModel.relative = true;\n return this.addFlag(relative());\n }\n /**\n * @description Modifies percentage-based width & height parameters of overlays and underlays (e.g., 1.0) to be relative to the overlaid region\n * @return {this}\n */\n regionRelative() {\n this._actionModel.regionRelative = true;\n return this.addFlag(regionRelative());\n }\n static fromJson(actionModel) {\n const { actionType, dimensions, relative, regionRelative } = actionModel;\n const { aspectRatio, width, height } = dimensions;\n const cropMode = ACTION_TYPE_TO_CROP_MODE_MAP[actionType] || actionType;\n // We are using this() to allow inheriting classes to use super.fromJson.apply(this, [actionModel])\n // This allows the inheriting classes to determine the class to be created\n const result = new this(cropMode, width, height);\n aspectRatio && result.aspectRatio(aspectRatio === 'ignore_aspect_ratio' ? ignoreInitialAspectRatio() : aspectRatio);\n relative && result.relative();\n regionRelative && result.regionRelative();\n return result;\n }\n}\nexport { ResizeSimpleAction };\n","import { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { QualifierValue } from \"../../internal/qualifier/QualifierValue.js\";\n/**\n * @memberOf Gravity.GravityQualifier\n * @extends {SDK.Qualifier}\n */\nclass GravityQualifier extends Qualifier {\n /**\n * @param value, an array containing (GravityObject | AutoGravity | string) or a string;\n */\n constructor(value) {\n super('g', new QualifierValue(value));\n }\n}\nexport { GravityQualifier };\n","import { GravityQualifier } from \"../GravityQualifier.js\";\n/**\n * @description The class for the autoGravity builder\n * @memberOf Qualifiers.Gravity\n * @extends {Qualifiers.Gravity.GravityQualifier}\n */\nclass AutoGravity extends GravityQualifier {\n constructor() {\n // Required due to https://github.com/microsoft/TypeScript/issues/13029\n /* istanbul ignore next */\n super('auto');\n }\n /**\n * @description Autofocuses on objects, allowing their priority within the algorithm to be configured.\n * @param {AutoFocus} AutoFocusObjects\n */\n autoFocus(...AutoFocusObjects) {\n this.addValue(AutoFocusObjects);\n return this;\n }\n}\nexport { AutoGravity };\n","import { GravityQualifier } from \"../GravityQualifier.js\";\n/**\n * @description The class for the FocusOn builder\n * @memberOf Qualifiers.Gravity\n * @extends {Qualifiers.Gravity.GravityQualifier}\n */\nclass FocusOnGravity extends GravityQualifier {\n constructor(FocusOnObjects) {\n // Required due to https://github.com/microsoft/TypeScript/issues/13029\n /* istanbul ignore next */\n super(FocusOnObjects);\n }\n /**\n * @description Specifies the gravity to use if none of the other gravity objects are found.\n * @param {Qualifiers.Gravity.AutoGravity} val\n */\n fallbackGravity(val) {\n /*\n * FocusOnGravity(this) is already a qualifier, with a key and a value g_{obj1}\n * fallBackGravity also attempts to add a value, to reach the result of g_{obj1}:auto:{obj2}\n * Since AutoGravity is a Qualifier, it also comes with its own g_ key, which needs to be removed.\n * To solve it, we take only the value from the qualifier, instead of the whole thing\n */\n this.addValue(val.qualifierValue);\n return this;\n }\n}\nexport { FocusOnGravity };\n","import { GravityQualifier } from \"../GravityQualifier.js\";\n/**\n * @description The class for the CompassGravity builder\n * @memberOf Qualifiers.Gravity\n * @extends {Qualifiers.Gravity.GravityQualifier}\n */\nclass CompassGravity extends GravityQualifier {\n constructor(dir) {\n // Required due to https://github.com/microsoft/TypeScript/issues/13029\n /* istanbul ignore next */\n super(dir);\n }\n}\nexport { CompassGravity };\n","import { CompassGravity } from \"./gravity/compassGravity/CompassGravity.js\";\nimport { FocusOnGravity } from \"./gravity/focusOnGravity/FocusOnGravity.js\";\nimport { AutoGravity } from \"./gravity/autoGravity/AutoGravity.js\";\nimport { XYCenterGravity } from \"./gravity/xyCenterGravity/XYCenterGravity.js\";\n/**\n * @description Defines the gravity based on directional values from a compass.\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/resizing_and_cropping#control_gravity|Control gravity for images}\n * <b>Learn more:</b> {@link https://cloudinary.com/documentation/video_resizing_and_cropping#control_gravity|Control gravity for videos}\n * @param {Qualifiers.Compass | string} direction A compass Values\n * @memberOf Qualifiers.Gravity\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {compass} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {north} from \"@cloudinary/url-gen/qualifiers/compass\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(compass(north())))\n * @return {CompassGravity}\n */\nfunction compass(direction) {\n return new CompassGravity(direction);\n}\n/**\n * @summary qualifier\n * @description Specifies what to focus on, for example: faces, objects, eyes, etc.\n * @param {...Qualifier.FocusOn} args One or more objects to focus on\n * @memberOf Qualifiers.Gravity\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {focusOn} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n * import {cat} from \"@cloudinary/url-gen/qualifiers/focusOn\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(focusOn(cat())))\n * @return {FocusOnGravity}\n */\nfunction focusOn(...args) {\n const res = [...args];\n return new FocusOnGravity(res);\n}\n/**\n * @summary qualifier\n * @description Automatically identifies the most interesting regions in the asset, can be qualified further by including what to focus on.\n * @memberOf Qualifiers.Gravity\n * @return {Qualifiers.Gravity.AutoGravity}\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {autoGravity} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(autoGravity()))\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {autoGravity} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n * import {cat} from \"@cloudinary/url-gen/qualifiers/focusOn\";\n * import {AutoFocus} from \"@cloudinary/url-gen/qualifiers/autoFocus\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(autoGravity().autoFocus(AutoFocus.focusOn(cat()))))\n */\nfunction autoGravity() {\n return new AutoGravity();\n}\n/**\n * @summary qualifier\n * @description Set the center of gravity to the given x & y coordinates.\n * @memberOf Qualifiers.Gravity\n * @return {XYCenterGravity}\n */\nfunction xyCenter() {\n return new XYCenterGravity();\n}\n/**\n * @description A qualifier that determines which part of an asset to focus on, and thus which part of the asset to keep, </br>\n * when any part of the asset is cropped. For overlays, this setting determines where to place the overlay.\n * @namespace Gravity\n * @memberOf Qualifiers\n * @example\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {compass} from \"@cloudinary/url-gen/qualifiers/gravity\";\n * import {north} from \"@cloudinary/url-gen/qualifiers/compass\";\n * import {crop} from \"@cloudinary/url-gen/actions/resize\";\n *\n * const yourCldInstance = new Cloudinary({cloud: {cloudName: 'demo'}});\n * const image = yourCldInstance.image('woman');\n * image.resize(crop().width(300).gravity(compass(north())))\n *\n * // Expand every function separately to see its own example\n */\nconst Gravity = {\n compass: compass,\n autoGravity: autoGravity,\n focusOn: focusOn,\n xyCenter\n};\nexport { Gravity, compass, autoGravity, focusOn, xyCenter };\n","import { QualifierValue } from \"../../../../internal/qualifier/QualifierValue.js\";\n/**\n * @memberOf Qualifiers.FocusOn\n * @extends {SDK.QualifierValue}\n */\nclass FocusOnValue extends QualifierValue {\n constructor(name) {\n super();\n this.name = name;\n }\n toString() {\n return this.name;\n }\n}\nexport { FocusOnValue };\n","import { FocusOnValue } from \"./gravity/qualifiers/focusOn/FocusOnValue.js\";\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects birds\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction bird() {\n return new FocusOnValue('bird');\n}\n/**\n * @summary qualifier\n * @description Detects dogs\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction dog() {\n return new FocusOnValue('dog');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects cats\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction cat() {\n return new FocusOnValue('cat');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects microwaves\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction microwave() {\n return new FocusOnValue('microwave');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects refrigerators\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction refrigerator() {\n return new FocusOnValue('refrigerator');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects bottles\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction bottle() {\n return new FocusOnValue('bottle');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects sinks\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction sink() {\n return new FocusOnValue('sink');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects skateboards\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction skateboard() {\n return new FocusOnValue('skateboard');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects people\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction person() {\n return new FocusOnValue('person');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects the largest face in an image with the Advanced Facial Attribute Detection add-on and makes it the focus of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction advancedFace() {\n return new FocusOnValue('adv_face');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects all faces in an image with the Advanced Facial Attribute Detection add-on and makes them the focus of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction advancedFaces() {\n return new FocusOnValue('adv_faces');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects all eyes in an image with the Advanced Facial Attribute Detection add-on and makes them the focus of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction advancedEyes() {\n return new FocusOnValue('adv_eyes');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects the largest face in the asset and makes it the focus of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction face() {\n return new FocusOnValue('face');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects all the faces in the asset and makes them the focus of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction faces() {\n return new FocusOnValue('faces');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects all the faces in the asset and makes them the focus of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction background() {\n return new FocusOnValue('background');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects aeroplane\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction aeroplane() {\n return new FocusOnValue('aeroplane');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects bicycle\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction bicycle() {\n return new FocusOnValue('bicycle');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects boat\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction boat() {\n return new FocusOnValue('boat');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects bus\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction bus() {\n return new FocusOnValue('bus');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects car\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction car() {\n return new FocusOnValue('car');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects chair\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction chair() {\n return new FocusOnValue('chair');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects cow\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction cow() {\n return new FocusOnValue('cow');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects diningtable\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction diningtable() {\n return new FocusOnValue('diningtable');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects horse\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction horse() {\n return new FocusOnValue('horse');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects motorbike\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction motorbike() {\n return new FocusOnValue('motorbike');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects pottedplant\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction pottedplant() {\n return new FocusOnValue('pottedplant');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects sheep\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction sheep() {\n return new FocusOnValue('sheep');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects sofa\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction sofa() {\n return new FocusOnValue('sofa');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects train\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction train() {\n return new FocusOnValue('train');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detects tvmonitor\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction tvmonitor() {\n return new FocusOnValue('tvmonitor');\n}\n/**\n * @summary qualifier\n * @memberOf Qualifiers.FocusOn\n * @description Detect all text elements in an image using the {@link https://cloudinary.com/documentation/ocr_text_detection_and_extraction_addon|OCR Text Detection and Extraction add-on} and use the detected bounding box coordinates as the basis of the transformation.\n * @return {Qualifiers.FocusOn.FocusOnValue} FocusOnValue\n */\nfunction ocr() {\n return new FocusOnValue('ocr_text');\n}\n/**\n * @memberOf Qualifiers\n * @namespace FocusOn\n * @see Visit {@link Qualifiers.Gravity|Gravity} for an example\n */\nconst FocusOn = {\n person,\n cat,\n microwave,\n refrigerator,\n skateboard,\n bird,\n bottle,\n dog,\n sink,\n face,\n train,\n sofa,\n sheep,\n pottedplant,\n horse,\n faces,\n cow,\n bus,\n boat,\n advancedEyes,\n advancedFace,\n advancedFaces,\n aeroplane,\n background,\n bicycle,\n car,\n chair,\n diningtable,\n tvmonitor,\n motorbike,\n ocr\n};\nexport { FocusOnValue, FocusOn, person, cat, microwave, refrigerator, skateboard, bird, bottle, dog, sink, face, train, sofa, sheep, pottedplant, horse, faces, cow, bus, boat, advancedEyes, advancedFace, advancedFaces, aeroplane, background, bicycle, car, chair, diningtable, tvmonitor, motorbike, ocr };\n","import { AutoGravity } from \"../../qualifiers/gravity/autoGravity/AutoGravity.js\";\nimport { FocusOnGravity } from \"../../qualifiers/gravity/focusOnGravity/FocusOnGravity.js\";\nimport { autoGravity } from \"../../qualifiers/gravity.js\";\nimport { FocusOnValue } from \"../../qualifiers/focusOn.js\";\n/**\n * true if gravity starts with 'auto' or 'auto:'\n * @param gravity\n */\nfunction isIAutoGravityString(gravity) {\n return gravity && `${gravity}`.split(':')[0] === 'auto';\n}\n/**\n * Validate that given val is an ICompassGravity\n * @param gravity\n */\nfunction isCompassGravity(gravity) {\n //const gravityString = `${(typeof gravity === \"string\" ? gravity : gravity.qualifierValue)}`;\n const gravityValue = getGravityValue(gravity);\n return ['north', 'center', 'east', 'west', 'south', 'north_west', 'south_east', 'south_west', 'north_east'].includes(gravityValue);\n}\n/**\n * Get the value of given gravity\n * @param gravity\n */\nfunction getGravityValue(gravity) {\n return `${gravity}`.replace('g_', '');\n}\n/**\n * Creates a compassGravity model\n * @param gravity\n */\nfunction createCompassGravityModel(gravity) {\n return {\n compass: getGravityValue(gravity),\n gravityType: 'direction'\n };\n}\n/**\n * Validate that given gravity is an instance of ocr gravity\n * @param gravity\n */\nfunction isOcrGravity(gravity) {\n return getGravityValue(gravity) === 'ocr_text';\n}\n/**\n * Creates an ocr gravity model\n */\nfunction createOcrGravityModel() {\n return {\n gravityType: 'ocr'\n };\n}\n/**\n * Validate that given gravity is an instance of AutoGravity\n * @param gravity\n */\nfunction isAutoGravity(gravity) {\n return `${gravity.qualifierValue}`.split(':')[0] === 'auto';\n}\n/**\n * Create an instance of IAutoGravityObjectModel\n * @param gravity\n */\nfunction createIAutoFocusObject(gravity) {\n const gravityString = gravity.toString();\n const values = gravityString.split('_');\n const result = {\n object: values[0]\n };\n if (values.length > 1) {\n if (values[1] === 'avoid') {\n result.avoid = true;\n }\n else {\n result.weight = +values[1];\n }\n }\n return result;\n}\n/**\n * Creates an auto gravity model from given AutoGravity\n * @param gravity\n */\nfunction createAutoGravityModel(gravity) {\n let values;\n const gravityQualifier = gravity === 'auto' ? new AutoGravity() : gravity;\n if (`${gravity}`.startsWith('auto:')) {\n values = `${gravity}`.split(':').filter((v) => v !== 'auto');\n }\n else {\n values = gravityQualifier.qualifierValue.values.filter((v) => v !== 'auto');\n }\n const autoFocus = values.map(createIAutoFocusObject);\n return {\n gravityType: 'auto',\n autoFocus\n };\n}\n/**\n * Create IFocusOnGravityModel from FocusOnGravity\n * @param gravity\n */\nfunction createFocusOnGravityModel(gravity) {\n const hasAutoGravity = `${gravity}`.split(':').includes('auto');\n const values = gravity.qualifierValue.values;\n const focusOnValues = hasAutoGravity ? values.slice(0, values.length - 1) : values;\n const result = {\n gravityType: 'object',\n focusOnObjects: focusOnValues.map((v) => `${v}`)\n };\n if (hasAutoGravity) {\n // Remove the first 'auto' value by slicing it, because it's added by autoGravity()\n const autoFocusObjects = values[values.length - 1].values.slice(1);\n const autoGravityInstance = autoGravity().autoFocus(...autoFocusObjects);\n result.fallbackGravity = createAutoGravityModel(autoGravityInstance);\n }\n return result;\n}\n/**\n * Creates a FocusOnGravity from given string\n * @param gravity\n */\nfunction createFocusOnGravity(gravity) {\n const values = gravity.split(':');\n const focusOnValues = values.map((g) => new FocusOnValue(g));\n return new FocusOnGravity(focusOnValues);\n}\n/**\n * Create a model of given gravity\n * @param gravity\n */\nexport function createGravityModel(gravity) {\n if (isCompassGravity(gravity)) {\n return createCompassGravityModel(gravity);\n }\n if (isOcrGravity(gravity)) {\n return createOcrGravityModel();\n }\n if (isIAutoGravityString(gravity) || isAutoGravity(gravity)) {\n return createAutoGravityModel(gravity);\n }\n return createFocusOnGravityModel(typeof gravity === 'string' ? createFocusOnGravity(gravity) : gravity);\n}\n","import { QualifierValue } from \"../internal/qualifier/QualifierValue.js\";\nimport { FocusOnValue } from \"./focusOn.js\";\n/**\n * @summary qualifier\n * @namespace AutoFocus\n * @memberOf Qualifiers\n * @see Visit {@link Qualifiers.Gravity|Gravity} for an example\n */\n/**\n * @memberOf Qualifiers.AutoFocus\n * @extends {SDK.QualifierValue}\n * @see Visit {@link Qualifiers.Gravity|Gravity} for an example\n */\nclass AutoFocus extends QualifierValue {\n constructor(focusOn, weight) {\n super();\n this._weight = weight;\n this.focusOn = focusOn;\n this.shouldAvoid = false;\n }\n /**\n * @summary qualifier\n * @description Specifies the object to focus on automatically\n * Accepts an AutoFocusObject (which is just a wrapper for a FocusOn object, but with extra method: avoid, weight)\n * @param {Qualifiers.FocusOn} obj The object to focus on.\n * @param {number} weight\n */\n static focusOn(obj, weight) {\n const focusOn = obj instanceof FocusOnValue ? obj : new FocusOnValue(obj);\n return new AutoFocus(focusOn, weight);\n }\n shouldAddWeight() {\n return typeof this._weight === 'number' || typeof this._weight === 'string' || this.shouldAvoid;\n }\n /**\n * @summary qualifier\n * @desc Get the name of the of the object\n */\n getName() {\n return this.focusOn.name;\n }\n /**\n * @summary qualifier\n * @desc Get the weight for the object\n */\n getWeight() {\n if (this.shouldAvoid) {\n return 'avoid';\n }\n else {\n return this._weight;\n }\n }\n /**\n * @summary qualifier\n * @desc Return the string representation of this QualifierValue\n */\n toString() {\n // Future proofing, in case we'd like to support some custom string in the future, or if data is coming from a DB\n if (this.shouldAddWeight()) {\n return `${this.getName()}_${this.getWeight()}`;\n }\n else {\n return `${this.getName()}`;\n }\n }\n /**\n * @summary qualifier\n * @description Sets the importance level of the object within the automatic gravity algorithm\n * @param {numebr} w The focus weight for the object\n * @return {this}\n */\n weight(w) {\n this._weight = w;\n return this;\n }\n /**\n * @summary qualifier\n * @description Attempts to avoid the detected object in the image\n * @return {this}\n */\n avoid() {\n this.shouldAvoid = true;\n return this;\n }\n}\nconst focusOn = AutoFocus.focusOn;\nexport { AutoFocus, focusOn };\n","import { QualifierValue } from \"../../../../internal/qualifier/QualifierValue.js\";\n/**\n * @memberOf Qualifiers.Compass\n * @extends {SDK.QualifierValue}\n */\nclass CompassQualifier extends QualifierValue {\n constructor(val) {\n super();\n this.val = val;\n }\n toString() {\n return this.val;\n }\n}\nexport { CompassQualifier };\n","import { autoGravity, focusOn } from \"../../qualifiers/gravity.js\";\nimport { FocusOnValue, ocr } from \"../../qualifiers/focusOn.js\";\nimport { AutoFocus } from \"../../qualifiers/autoFocus.js\";\nimport { CompassGravity } from \"../../qualifiers/gravity/compassGravity/CompassGravity.js\";\nimport { CompassQualifier } from \"../../qualifiers/gravity/qualifiers/compass/CompassQualifier.js\";\n/**\n * Validates that gravityModel is an ICompassGravityModel\n * @param gravityModel\n */\nfunction isCompassGravityModel(gravityModel) {\n return gravityModel.gravityType === 'direction';\n}\n/**\n * Validates that gravityModel is an IOcrGravityModel\n * @param gravityModel\n */\nfunction isOcrGravityModel(gravityModel) {\n return gravityModel.gravityType === 'ocr';\n}\n/**\n * Validates that gravityModel is an IAutoGravityModel\n * @param gravityModel\n */\nfunction isAutoGravityModel(gravityModel) {\n return gravityModel.gravityType === 'auto';\n}\n/**\n * Create AutoFocus from IAutoGravityObjectModel\n * @param autoGravityObjectModel\n */\nfunction createAutoFocusFromModel(autoGravityObjectModel) {\n const { object, weight, avoid } = autoGravityObjectModel;\n const autoFocus = new AutoFocus(new FocusOnValue(object));\n (weight || weight === 0) && autoFocus.weight(weight);\n avoid && autoFocus.avoid();\n return autoFocus;\n}\n/**\n * Create AutoGravity from IAutoGravityModel\n * @param gravityModel\n */\nfunction createAutoGravityFromModel(gravityModel) {\n const autoFocusModel = gravityModel.autoFocus || [];\n const autoFocus = autoFocusModel.map(createAutoFocusFromModel);\n return autoGravity().autoFocus(...autoFocus);\n}\n/**\n * Create FocusOnGravity from given IFocusOnGravityModel\n * @param gravityModel\n */\nfunction createFocusOnGravityFromModel(gravityModel) {\n const focusOnObjects = (gravityModel.focusOnObjects || []).map((str) => new FocusOnValue(str));\n const result = focusOn(...focusOnObjects);\n if (gravityModel.fallbackGravity) {\n const autoGravity = createAutoGravityFromModel(gravityModel.fallbackGravity);\n result.fallbackGravity(autoGravity);\n }\n return result;\n}\n/**\n * Create gravity instance from given gravity model\n * @param gravityModel\n */\nfunction createGravityFromModel(gravityModel) {\n if (isCompassGravityModel(gravityModel)) {\n return new CompassGravity(new CompassQualifier(gravityModel.compass));\n }\n if (isOcrGravityModel(gravityModel)) {\n return focusOn(ocr());\n }\n if (isAutoGravityModel(gravityModel)) {\n return createAutoGravityFromModel(gravityModel);\n }\n return createFocusOnGravityFromModel(gravityModel);\n}\nexport { createGravityFromModel };\n","import { ResizeSimpleAction } from \"./ResizeSimpleAction.js\";\nimport { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { createGravityModel } from \"../../internal/models/createGravityModel.js\";\nimport { createGravityFromModel } from \"../../internal/models/createGravityFromModel.js\";\n/**\n * @description Defines an advanced resize.\n * @extends Actions.Resize.ResizeSimpleAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeAdvancedAction extends ResizeSimpleAction {\n /**\n * @description Which part of the original image to include.\n * @param {Qualifiers.Gravity} gravity\n */\n gravity(gravity) {\n this._actionModel.gravity = createGravityModel(gravity);\n const gravityQualifier = typeof gravity === \"string\" ? new Qualifier('g', gravity) : gravity;\n return this.addQualifier(gravityQualifier);\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n if (actionModel.gravity) {\n result.gravity(createGravityFromModel(actionModel.gravity));\n }\n return result;\n }\n}\nexport { ResizeAdvancedAction };\n","import { ResizeSimpleAction } from \"./ResizeSimpleAction.js\";\nimport { GravityQualifier } from \"../../qualifiers/gravity/GravityQualifier.js\";\n/**\n * @description Defines a scaling resize action.\n * @extends Actions.Resize.ResizeSimpleAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeScaleAction extends ResizeSimpleAction {\n /**\n * @description Changes the aspect ratio of an image while retaining all important content and avoiding unnatural\n * distortions.\n * @return {this}\n */\n liquidRescaling() {\n return this.addQualifier(new GravityQualifier('liquid'));\n }\n}\nexport { ResizeScaleAction };\n","import { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { ResizeAdvancedAction } from \"./ResizeAdvancedAction.js\";\n/**\n * @description Defines a thumbnail resize action.\n * @extends Actions.Resize.ResizeAdvancedAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ThumbResizeAction extends ResizeAdvancedAction {\n /**\n * @description Controls how much of the original image surrounding the face to keep when using either the 'crop' or 'thumb' cropping modes with face detection.\n * @param {number | string} z The zoom factor. (Default: 1.0)\n */\n zoom(z) {\n this._actionModel.zoom = z;\n return this.addQualifier(new Qualifier('z', z));\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n actionModel.zoom && result.zoom(actionModel.zoom);\n return result;\n }\n}\nexport { ThumbResizeAction };\n","import { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { ResizeAdvancedAction } from \"./ResizeAdvancedAction.js\";\n/**\n * @description Defines how to crop an asset\n * @extends Actions.Resize.ResizeAdvancedAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeCropAction extends ResizeAdvancedAction {\n /**\n * @description Horizontal position for custom-coordinates based cropping.\n * @param {number} x The x position.\n */\n x(x) {\n this._actionModel.x = x;\n return this.addQualifier(new Qualifier('x', x));\n }\n /**\n * @description Vertical position for custom-coordinates based cropping\n * @param {number} y The y position.\n */\n y(y) {\n this._actionModel.y = y;\n return this.addQualifier(new Qualifier('y', y));\n }\n /**\n * @description Controls how much of the original image surrounding the face to keep when using either the 'crop' or 'thumb' cropping modes with face detection.\n * @param {number | string} z The zoom factor. (Default: 1.0)\n */\n zoom(z) {\n this._actionModel.zoom = z;\n return this.addQualifier(new Qualifier('z', z));\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n actionModel.x && result.x(actionModel.x);\n actionModel.y && result.y(actionModel.y);\n actionModel.zoom && result.zoom(actionModel.zoom);\n return result;\n }\n}\nexport { ResizeCropAction };\n","import { Qualifier } from \"../../internal/qualifier/Qualifier.js\";\nimport { ResizeAdvancedAction } from \"./ResizeAdvancedAction.js\";\n/**\n * @description Defines how to crop-fill an asset\n * @extends Actions.Resize.ResizeAdvancedAction\n * @memberOf Actions.Resize\n * @see Visit {@link Actions.Resize| Resize} for examples\n */\nclass ResizeFillAction extends ResizeAdvancedAction {\n /**\n * @description Absolute X position when used with Gravity.xyCenter {@link Qualifiers.Gravity.GravityQualifier}}\n * @param {number} x The x position.\n */\n x(x) {\n this._actionModel.x = x;\n return this.addQualifier(new Qualifier('x', x));\n }\n /**\n * @description Absolute Y position when used with Gravity.xyCenter {@link Qualifiers.Gravity.GravityQualifier}}\n * @param {number} y The y position.\n */\n y(y) {\n this._actionModel.y = y;\n return this.addQualifier(new Qualifier('y', y));\n }\n static fromJson(actionModel) {\n const result = super.fromJson.apply(this, [actionModel]);\n actionModel.x && result.x(actionModel.x);\n actionModel.y && result.y(actionModel.y);\n return result;\n }\n}\nexport { ResizeFillAction };\n","/**\n * @description Determines how to crop, scale, and/or zoom the delivered asset according to the requested dimensions.\n * @memberOf Actions\n * @namespace Resize\n * @see Learn more about Gravity and Focus {@link Qualifiers.Gravity| here }\n * @example\n * <caption> <h4>Scaling an image</h4> </caption>\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n * import {scale, fit, pad, crop} from '@cloudinary/url-gen/actions/resize';\n *\n * const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});\n * const image = yourCldInstance.image('woman');\n *\n * image.resize( scale(100, 100) );\n * // All resize actions have a similar interface.\n * // image.resize( fit(100, 100)) );\n * // image.resize( pad(100, 100)) );\n * // image.resize( crop(100, 100)) );\n * // However, Some actions have additional arguments exposed as builder methods.\n * // See the documentation for each method for more information\n *\n *\n * // Alternative syntax, using builder methods\n * image.resize(\n * scale()\n * .width(100)\n * .height(100)\n * );\n * image.toString()\n *\n * @example\n * <caption> <h4>Cropping with automatic focus(Gravity)</h4> </caption>\n * import {Cloudinary} from \"@cloudinary/url-gen\";\n *\n * const yourCldInstance = new Cloudinary({cloud:{cloudName:'demo'}});\n * const image = yourCldInstance.image('woman');\n *\n * import {scale} from '@cloudinary/url-gen/actions/resize';\n * import {autoGravity} from '@cloudinary/url-gen/qualifiers/gravity';\n *\n * image.resize( crop(100, 100).gravity(autoGravity()) );\n *\n * // Alternative syntax, using builder methods\n * image.resize(\n * scale()\n * .width(100)\n * .height(100)\n * .gravity(autoGravity())\n * );\n * image.toString()\n */\nimport { ResizePadAction } from \"./resize/ResizePadAction.js\";\nimport { ResizeSimpleAction } from \"./resize/ResizeSimpleAction.js\";\nimport { ResizeScaleAction } from \"./resize/ResizeScaleAction.js\";\nimport { ThumbResizeAction } from \"./resize/ThumbnailAction.js\";\nimport { ResizeCropAction } from \"./resize/ResizeCropAction.js\";\nimport { ResizeFillAction } from \"./resize/ResizeFillAction.js\";\nimport { ResizeLimitFitAction } from \"./resize/ResizeLimitFitAction.js\";\nimport { ResizeLimitFillAction } from \"./resize/ResizeLimitFillAction.js\";\nimport { ResizeLimitPadAction } from \"./resize/ResizeLimitPadAction.js\";\nimport { ResizeMinimumPadAction } from \"./resize/ResizeMinimumPadAction.js\";\nimport { ResizeAdvancedAction } from \"./resize/ResizeAdvancedAction.js\";\nimport { ResizeAutoPadAction } from \"./resize/ResizeAutoPadAction.js\";\n/**\n * @summary action\n * @description\n * Changes the size of the image exactly to the given width and height without necessarily retaining the original aspect ratio:<br/>\n * all original image parts are visible but might be stretched or shrunk.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ScaleAction}\n */\nfunction scale(width, height) {\n return new ResizeScaleAction('scale', width, height);\n}\n/**\n * @summary action\n * @description\n * Scales your image based on automatically calculated areas of interest within each specific photo.\n *\n * For details, see the Imagga Crop and Scale {@link https://cloudinary.com/documentation/imagga_crop_and_scale_addon#smartly_scale_images|add-on documentation}.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeSimpleAction}\n */\nfunction imaggaScale(width, height) {\n return new ResizeSimpleAction('imagga_scale', width, height);\n}\n/**\n * @summary action\n * @description\n * Crops your image based on automatically calculated areas of interest within each specific photo.\n *\n * For details, see the Imagga Crop and Scale {@link https://cloudinary.com/documentation/imagga_crop_and_scale_addon#smartly_crop_images|add-on documentation}.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeSimpleAction}\n */\nfunction imaggaCrop(width, height) {\n return new ResizeSimpleAction('imagga_crop', width, height);\n}\n/**\n * @summary action\n * @description Extracts a region of the given width and height out of the original image.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeCropAction}\n */\nfunction crop(width, height) {\n return new ResizeCropAction('crop', width, height);\n}\n/**\n * @summary action\n * @description\n * Creates an image with the exact given width and height without distorting the image.<br/>\n * This option first scales up or down as much as needed to at least fill both of the given dimensions.<br/><br/>\n * If the requested aspect ratio is different than the original, cropping will occur on the dimension that exceeds the requested size after scaling.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeFillAction}\n */\nfunction fill(width, height) {\n return new ResizeFillAction('fill', width, height);\n}\n/**\n * @summary action\n * @description\n * The image is resized so that it takes up as much space as possible within a bounding box defined by the given width and height parameters.</br>\n * The original aspect ratio is retained and all of the original image is visible.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeSimpleAction}\n */\nfunction fit(width, height) {\n return new ResizeSimpleAction('fit', width, height);\n}\n/**\n * @summary action\n * @description\n * Resizes the asset to fill the given width and height while retaining the original aspect ratio.\n *\n * If the proportions of the original asset do not match the given width and height, padding is added to the asset\n * to reach the required size.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizePadAction}\n */\nfunction pad(width, height) {\n return new ResizePadAction('pad', width, height);\n}\n/**\n * @summary action\n * @description\n * Creates an asset with the exact given width and height without distorting the asset, but only if the original\n * asset is larger than the specified resolution limits.\n *\n * The asset is scaled down to fill the given width and height without distorting the asset, and then the dimension\n * that exceeds the request is cropped. If the original dimensions are both smaller than the requested size, it is\n * not resized at all.\n *\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeLimitFillAction}\n */\nfunction limitFill(width, height) {\n return new ResizeLimitFillAction('lfill', width, height);\n}\n/**\n * @summary action\n * @description\n * Resizes the asset so that it takes up as much space as possible within a bounding box defined by the given\n * width and height parameters, but only if the original asset is larger than the given limit (width and height).\n *\n * The asset is scaled down, the original aspect ratio is retained and all of the original asset is visible.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeSimpleAction}\n */\nfunction limitFit(width, height) {\n return new ResizeLimitFitAction('limit', width, height);\n}\n/**\n * @summary action\n * @description\n * Resizes the asset to fill the given width and height while retaining the original aspect ratio, but only if the\n * original asset is smaller than the given minimum (width and height).\n *\n * The asset is scaled up. If the proportions of the original asset do not match the given width and height,\n * padding is added to the asset to reach the required size.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizePadAction}\n */\nfunction minimumPad(width, height) {\n return new ResizeMinimumPadAction('mpad', width, height);\n}\n/**\n * @summary action\n * @description\n * Resizes the asset so that it takes up as much space as possible within a bounding box defined by the given\n * width and height parameters, but only if the original asset is smaller than the given minimum (width and height).\n *\n * The asset is scaled up, the original aspect ratio is retained and all of the original asset is visible.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeSimpleAction}\n */\nfunction minimumFit(width, height) {\n return new ResizeSimpleAction('mfit', width, height);\n}\n/**\n * @summary action\n * @memberOf Actions.Resize\n * @description\n * Tries to prevent a \"bad crop\" by first attempting to use the fill mode, but adding padding if it is determined\n * that more of the original image needs to be included in the final image.\n *\n * Especially useful if the aspect ratio of the delivered image is considerably different from the original's\n * aspect ratio.\n *\n * Only supported in conjunction with Automatic cropping.\n *\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizePadAction}\n */\nfunction fillPad(width, height) {\n return new ResizePadAction('fill_pad', width, height);\n}\n/**\n * @summary action\n * @description\n * The thumb cropping mode is specifically used for creating image thumbnails from either face or custom coordinates,</br>\n * and must always be accompanied by the gravity parameter set to one of the face detection or custom values.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ThumbResizeAction}\n */\nfunction thumbnail(width, height) {\n return new ThumbResizeAction('thumb', width, height);\n}\n/**\n * @summary action\n * @description\n * Automatically determines the best crop based on the gravity and specified dimensions.\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ThumbResizeAction}\n */\nfunction auto(width, height) {\n return new ResizeAdvancedAction('auto', width, height);\n}\n/**\n * @summary action\n * @description\n * Resizes the asset to fill the given width and height while retaining the original aspect ratio, but only if the\n * original asset is larger than the given limit (width and height).\n *\n * The asset is scaled down. If the proportions of the original asset do not match the given width and height,\n * padding is added to the asset to reach the required size.\n *\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizePadAction}\n */\nfunction limitPad(width, height) {\n return new ResizeLimitPadAction('lpad', width, height);\n}\n/**\n * @summary action\n * @description\n * Tries to prevent a \"bad crop\" by first attempting to use the auto cropping mode, but adding some padding\n * if the algorithm determines that more of the original image needs to be included in the final image.\n *\n * @memberOf Actions.Resize\n * @param {number|string} width The required width of a transformed asset.\n * @param {number|string} height The required height of a transformed asset.\n * @return {Actions.Resize.ResizeAutoPadAction}\n */\nfunction autoPad(width, height) {\n return new ResizeAutoPadAction('auto_pad', width, height);\n}\nconst Resize = {\n imaggaScale,\n imaggaCrop,\n crop,\n fill,\n scale,\n minimumPad,\n fit,\n pad,\n limitFit,\n thumbnail,\n limitFill,\n minimumFit,\n limitPad,\n fillPad,\n auto,\n autoPad\n};\nexport { Resize, imaggaScale, imaggaCrop, crop, fill, scale, minimumPad, fit, pad, limitFit, thumbnail, limitFill, minimumFit, limitPad, fillPad, auto, autoPad };\n","/**\n *\n * @param publicID\n */\nexport function isUrl(publicID) {\n return publicID.match(/^https?:\\//);\n}\n","/**\n *\n * @param publicID\n */\nexport function isFileName(publicID) {\n return publicID.indexOf('/') < 0;\n}\n","/**\n *\n * @param publicID\n */\nexport function publicIDContainsVersion(publicID) {\n return publicID.match(/^v[0-9]+/);\n}\n","import { isUrl } from \"./urlUtils/isUrl.js\";\nimport { isFileName } from \"./urlUtils/isFileName.js\";\nimport { publicIDContainsVersion } from \"./urlUtils/publicIDContainsVersion.js\";\n/**\n * Create the URL prefix for Cloudinary resources.\n * Available use cases\n * http://res.cloudinary.com/{cloudName}\n * https://res.cloudinary.com/{cloudName}\n * https://{cloudName}-res.cloudinary.com/\n * http://{domain}/${cloudName}\n * https://{domain}/${cloudName}\n * https://{domain}\n * @private\n *\n * @param {string} cloudName\n * @param {IURLConfig} urlConfig\n */\nfunction getUrlPrefix(cloudName, urlConfig) {\n const secure = urlConfig.secure;\n const privateCDN = urlConfig.privateCdn;\n const cname = urlConfig.cname;\n const secureDistribution = urlConfig.secureDistribution;\n if (!secure && !cname) {\n return `http://res.cloudinary.com/${cloudName}`;\n }\n if (secure && !secureDistribution && privateCDN) {\n return `https://${cloudName}-res.cloudinary.com`;\n }\n if (secure && !secureDistribution) {\n return `https://res.cloudinary.com/${cloudName}`;\n }\n if (secure && secureDistribution && privateCDN) {\n return `https://${secureDistribution}`;\n }\n if (secure && secureDistribution) {\n return `https://${secureDistribution}/${cloudName}`;\n }\n if (!secure && cname) {\n return `http://${cname}/${cloudName}`;\n }\n else {\n return 'ERROR';\n }\n}\n/**\n * @private\n * @param assetType\n */\nfunction handleAssetType(assetType) {\n //default to image\n if (!assetType) {\n return 'image';\n }\n return assetType;\n}\n/**\n * @private\n * @param deliveryType\n */\nfunction handleDeliveryType(deliveryType) {\n //default to upload\n if (!deliveryType) {\n return 'upload';\n }\n return deliveryType;\n}\n/**\n *\n * @param {string} publicID\n * @param {number} version\n * @param {boolean} forceVersion\n */\nfunction getUrlVersion(publicID, version, forceVersion) {\n const shouldForceVersion = forceVersion !== false;\n if (version) {\n return `v${version}`;\n }\n // In all these conditions we never force a version\n if (publicIDContainsVersion(publicID) || isUrl(publicID) || isFileName(publicID)) {\n return '';\n }\n return shouldForceVersion ? 'v1' : '';\n}\nexport { handleAssetType, getUrlVersion, handleDeliveryType, getUrlPrefix };\n","/**\n * @private\n * @description Adds left padding to a string with the desired substring the provided number of times\n * @example stringPad(foo, 3, 'a'') // -> aaafoo\n * @param {string} value\n * @param {number} _targetLength\n * @param {string} _padString\n */\nexport function stringPad(value, _targetLength, _padString) {\n let targetLength = _targetLength >> 0; //truncate if number or convert non-number to 0;\n let padString = String((typeof _padString !== 'undefined' ? _padString : ' '));\n if (value.length > targetLength) {\n return String(value);\n }\n else {\n targetLength = targetLength - value.length;\n if (targetLength > padString.length) {\n padString += repeatStringNumTimes(padString, targetLength / padString.length);\n }\n return padString.slice(0, targetLength) + String(value);\n }\n}\n/**\n * @description Repeat a string multiple times, cross-browser-safe alternative to string.repeat()\n * @param string\n * @param _times\n */\nfunction repeatStringNumTimes(string, _times) {\n let times = _times;\n let repeatedString = \"\";\n while (times > 0) {\n repeatedString += string;\n times--;\n }\n return repeatedString;\n}\n","import { stringPad } from \"./stringPad.js\";\n/**\n * This file maps sequences of 6 bit binary digits to a character in base64.\n * 000000 -> A\n * 110011 -> Z\n * 111111 -> /\n */\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nconst base64Map = {};\nlet num = 0;\nchars.split('').forEach((char) => {\n let key = num.toString(2);\n key = stringPad(key, 6, '0');\n base64Map[key] = char;\n num++;\n});\n/**\n * Map of [six-bit binary codes] -> [Base64 characters]\n */\nexport { base64Map };\n","/**\n * @private\n * @description Reverses the version positions, x.y.z turns to z.y.x\n * Example: 1.2.3 -> 03.02.01\n * @param {string} semVer Input can be either x.y.z or x.y\n * @return {string} in the form of zz.yy.xx (\n */\nexport function reverseVersion(semVer) {\n if (semVer.split('.').length < 2) {\n throw new Error('invalid semVer, must have at least two segments');\n }\n // Split by '.', reverse, create new array\n return semVer.split('.').reverse().join('.');\n}\n","import { stringPad } from \"./stringPad.js\";\n/**\n * @private\n * @description Pads each segment with '0' so they have length of 2\n * @param {string} semVer Input can be either x.y.z or x.y\n * @return {string} in the form of xx.yy.zz (\n */\nexport function padVersion(semVer) {\n if (semVer.split('.').length < 2) {\n throw new Error('invalid semVer, must have at least two segments');\n }\n // Split by '.', reverse, create new array with padded values and concat it together\n return semVer.split('.').map((segment) => {\n // try to cast to number\n const asNumber = +segment;\n if (isNaN(asNumber) || asNumber < 0) {\n throw 'Invalid version number provided';\n }\n return stringPad(segment, 2, '0');\n }).join('.');\n}\n","import { base64Map } from \"./base64Map.js\";\nimport { stringPad } from \"./stringPad.js\";\nimport { reverseVersion } from \"./reverseVersion.js\";\nimport { padVersion } from \"./padVersion.js\";\n/**\n * @private\n * @description Encodes a semVer-like version string\n * @param {string} semVer Input can be either x.y.z or x.y\n * @return {string} A string built from 3 characters of the base64 table that encode the semVer\n */\nexport function encodeVersion(semVer) {\n let strResult = '';\n // support x.y or x.y.z by using 'parts' as a variable\n const parts = semVer.split('.').length;\n const paddedStringLength = parts * 6; // we pad to either 12 or 18 characters\n // reverse (but don't mirror) the version. 1.5.15 -> 15.5.1\n const reversedSemver = reverseVersion(semVer);\n // Pad to two spaces, 15.5.1 -> 15.05.01\n const paddedSemver = padVersion(reversedSemver);\n // turn 15.05.01 to a string '150501' then to a number 150501\n const num = parseInt(paddedSemver.split('.').join(''));\n // Represent as binary, add left padding to 12 or 18 characters.\n // 150,501 -> 100100101111100101\n let paddedBinary = num.toString(2);\n paddedBinary = stringPad(paddedBinary, paddedStringLength, '0');\n // Stop in case an invalid version number was provided\n // paddedBinary must be built from sections of 6 bits\n if (paddedBinary.length % 6 !== 0) {\n throw 'Version must be smaller than 43.21.26)';\n }\n // turn every 6 bits into a character using the base64Map\n paddedBinary.match(/.{1,6}/g).forEach((bitString) => {\n // console.log(bitString);\n strResult += base64Map[bitString];\n });\n return strResult;\n}\n","/**\n * @private\n * @description Gets the analyticsOptions from options- should include sdkSemver, techVersion, sdkCode, and feature\n * @param {ITrackedPropertiesThroughAnalytics} options\n * @returns {IAnalyticsOptions}\n */\nexport function getAnalyticsOptions(options) {\n const analyticsOptions = {\n sdkSemver: options.sdkSemver,\n techVersion: options.techVersion,\n sdkCode: options.sdkCode,\n product: options.product,\n feature: '0',\n osType: options.osType,\n osVersion: options.osVersion,\n };\n if (options.accessibility) {\n analyticsOptions.feature = 'D';\n }\n if (options.lazyload) {\n analyticsOptions.feature = 'C';\n }\n if (options.responsive) {\n analyticsOptions.feature = 'A';\n }\n if (options.placeholder) {\n analyticsOptions.feature = 'B';\n }\n return analyticsOptions;\n}\n","const packageVersion = '1.21.0';\n/**\n * Export package version (injected during our build).\n * Reason for this is that If we import values from from package.json,\n * it will cause an error for users who do not have an 'import from json' plugin\n * as part of their build process / bundler.\n */\nexport { packageVersion };\n","import { base64Map } from \"./base64Map.js\";\n/**\n * @private\n * @description Encodes a semVer-like version string for OS\n * @param {string} semVer Input is x.y\n * @return {string} A string built from 2 characters of the base64 table that encode the semVer\n */\nexport function encodeOSVersion(semVer) {\n const [major, minor] = semVer.split('.');\n //convert to binary\n const binaryMajorVersion = parseInt(major).toString(2);\n const binaryMinorVersion = parseInt(minor).toString(2);\n //pad to 6\n const paddedMajor = binaryMajorVersion.padStart(6, '0');\n const paddedMinor = binaryMinorVersion.padStart(6, '0');\n return base64Map[paddedMajor] + base64Map[paddedMinor];\n}\n","import { encodeVersion } from \"./encodeVersion.js\";\nimport { getAnalyticsOptions } from \"./getAnalyticsOptions.js\";\nimport { packageVersion } from \"../internal/utils/packageVersion.js\";\nimport { encodeOSVersion } from \"./encodeOSVersion.js\";\n/**\n * @private\n * @description Try to get the node version out of process, if browser just return 0.0.0\n */\nfunction getNodeVersion() {\n const failedVersion = '0.0.0';\n if (typeof window !== 'undefined') {\n return failedVersion;\n }\n else {\n // node env\n try {\n return process.versions.node || failedVersion;\n }\n catch (e) {\n return failedVersion;\n }\n }\n}\n/**\n * @private\n * @description Ensure that all values ITrackedPropertiesThroughAnalytics are populated.\n * Accept a partial map of values and returns the complete interface of ITrackedPropertiesThroughAnalytics\n * @param {ITrackedPropertiesThroughAnalytics} trackedAnalytics\n * @param {ITrackedPropertiesThroughAnalytics} trackedAnalytics\n */\nfunction ensureShapeOfTrackedProperties(trackedAnalytics) {\n // try to get the process version from node, but if we're on the client return 0.0.0\n const defaults = {\n techVersion: getNodeVersion(),\n sdkCode: 'T',\n sdkSemver: packageVersion.split('-')[0],\n product: 'A',\n osType: 'Z',\n osVersion: '0.0',\n responsive: false,\n placeholder: false,\n lazyload: false,\n accessibility: false\n };\n if (!trackedAnalytics) {\n return defaults;\n }\n else {\n return Object.assign(Object.assign({}, defaults), trackedAnalytics);\n }\n}\n/**\n * @private\n * @description Creates the complete SDK signature by using all the values provided by ITrackedPropertiesThroughAnalytics\n * Creation of the signature\n * - Set the AlgoVersion of the encoding, this is an internal letter that represents the version\n * of our encoding algorithm, it will allow us to perform breaking changes if we'll need them.\n * - Take the constant SDK code (Arbitrary letter chosen for each SDK, for Base that letter is 'T')\n * this is used to tell apart which SDK is being tracked.\n * - Take the {major.minor} versions of the node version (techVersion) (14.2, 16.2 etc.)\n * - Take the full semver of the SDK you wish to track\n * - Take the features used(lazy, placeholder etc.) and turn them to a letter (for example accessibility -> D)\n * - Before appending the string, the Versions must be encoded, see the function `encodeVersion` for more details\n * - Append all the variables to a single string\n * - In any case of an error, return the single letter 'E'\n *\n * @return {string} sdkAnalyticsSignature\n */\nexport function getSDKAnalyticsSignature(_trackedAnalytics) {\n const trackedAnalytics = ensureShapeOfTrackedProperties(_trackedAnalytics);\n const analyticsOptions = getAnalyticsOptions(trackedAnalytics);\n try {\n const twoPartVersion = removePatchFromSemver(analyticsOptions.techVersion);\n const encodedSDKVersion = encodeVersion(analyticsOptions.sdkSemver);\n const encodedTechVersion = encodeVersion(twoPartVersion);\n const encodedOSVersion = encodeOSVersion(analyticsOptions.osVersion);\n const featureCode = analyticsOptions.feature;\n const SDKCode = analyticsOptions.sdkCode;\n const { product, osType } = analyticsOptions;\n const algoVersion = 'D'; // The algo version is determined here, it should not be an argument\n return `${algoVersion}${product}${SDKCode}${encodedSDKVersion}${encodedTechVersion}${osType}${encodedOSVersion}${featureCode}`;\n }\n catch (e) {\n // Either SDK or Node versions were unparsable\n return 'E';\n }\n}\n/**\n * @private\n * @description Removes patch version from the semver if it exists\n * Turns x.y.z OR x.y into x.y\n * @param {'x.y.z' | 'x.y' | string} semVerStr\n */\nfunction removePatchFromSemver(semVerStr) {\n const parts = semVerStr.split('.');\n return `${parts[0]}.${parts[1]}`;\n}\n","import { getUrlPrefix, getUrlVersion, handleAssetType, handleDeliveryType } from \"../internal/url/cloudinaryURL.js\";\nimport URLConfig from \"../config/URLConfig.js\";\nimport { getSDKAnalyticsSignature } from \"../sdkAnalytics/getSDKAnalyticsSignature.js\";\n/**\n * This const contains all the valid combination of asset/delivery for URL shortening purposes\n * It's exported because it's used in a test, but it's not really shared enough to belong in a separate file\n */\nexport const SEO_TYPES = {\n \"image/upload\": \"images\",\n \"image/private\": \"private_images\",\n \"image/authenticated\": \"authenticated_images\",\n \"raw/upload\": \"files\",\n \"video/upload\": \"videos\"\n};\n/**\n * @description Cloudinary file without a transformation\n * @summary SDK\n * @memberOf SDK\n */\nclass CloudinaryFile {\n constructor(publicID, cloudConfig = {}, urlConfig) {\n this.setPublicID(publicID);\n this.setCloudConfig(cloudConfig);\n this.setURLConfig(urlConfig);\n }\n /**\n * @description Sets the URL Config for this asset\n * @param urlConfig\n * @return {this}\n */\n setURLConfig(urlConfig) {\n this.urlConfig = new URLConfig(urlConfig);\n return this;\n }\n /**\n * @description Sets the Cloud Config for this asset\n * @param urlConfig\n * @return {this}\n */\n setCloudConfig(cloudConfig) {\n this.cloudName = cloudConfig.cloudName;\n this.apiKey = cloudConfig.apiKey;\n this.apiSecret = cloudConfig.apiSecret;\n this.authToken = cloudConfig.authToken;\n return this;\n }\n /**\n * @description Sets the public ID of the asset.\n * @param {string} publicID The public ID of the asset.\n * @return {this}\n */\n setPublicID(publicID) {\n // PublicID must be a string!\n this.publicID = publicID ? publicID.toString() : '';\n return this;\n }\n /**\n * @description Sets the delivery type of the asset.\n * @param {DELIVERY_TYPE | string} newType The type of the asset.\n * @return {this}\n */\n setDeliveryType(newType) {\n this.deliveryType = newType;\n return this;\n }\n /**\n * @description Sets the URL SEO suffix of the asset.\n * @param {string} newSuffix The SEO suffix.\n * @return {this}\n */\n setSuffix(newSuffix) {\n this.suffix = newSuffix;\n return this;\n }\n /**\n * @description Sets the signature of the asset.\n * @param {string} signature The signature.\n * @return {this}\n */\n setSignature(signature) {\n this.signature = signature;\n return this;\n }\n /**\n * @description Sets the version of the asset.\n * @param {string} newVersion The version of the asset.\n * @return {this}\n */\n setVersion(newVersion) {\n if (newVersion) {\n this.version = newVersion;\n }\n return this;\n }\n /**\n * @description Sets the asset type.\n * @param {string} newType The type of the asset.\n * @return {this}\n */\n setAssetType(newType) {\n if (newType) {\n this.assetType = newType;\n }\n return this;\n }\n sign() {\n return this;\n }\n /**\n * @description Serializes to URL string\n * @param overwriteOptions\n */\n toURL(overwriteOptions = {}) {\n return this.createCloudinaryURL(null, overwriteOptions.trackedAnalytics);\n }\n /**\n * @description Validate various options before attempting to create a URL\n * The function will throw in case a violation\n * @throws Validation errors\n */\n validateAssetForURLCreation() {\n if (typeof this.cloudName === 'undefined') {\n throw 'You must supply a cloudName when initializing the asset';\n }\n const suffixContainsDot = this.suffix && this.suffix.indexOf('.') >= 0;\n const suffixContainsSlash = this.suffix && this.suffix.indexOf('/') >= 0;\n if (suffixContainsDot || suffixContainsSlash) {\n throw '`suffix`` should not include . or /';\n }\n }\n /**\n * @description return an SEO friendly name for a combination of asset/delivery, some examples:\n * * image/upload -> images\n * * video/upload -> videos\n * If no match is found, return `{asset}/{delivery}`\n */\n getResourceType() {\n const assetType = handleAssetType(this.assetType);\n const deliveryType = handleDeliveryType(this.deliveryType);\n const hasSuffix = !!this.suffix;\n const regularSEOType = `${assetType}/${deliveryType}`;\n const shortSEOType = SEO_TYPES[`${assetType}/${deliveryType}`];\n const useRootPath = this.urlConfig.useRootPath;\n const shorten = this.urlConfig.shorten;\n // Quick exit incase of useRootPath\n if (useRootPath) {\n if (regularSEOType === 'image/upload') {\n return ''; // For image/upload we're done, just return nothing\n }\n else {\n throw new Error(`useRootPath can only be used with assetType: 'image' and deliveryType: 'upload'. Provided: ${regularSEOType} instead`);\n }\n }\n if (shorten && regularSEOType === 'image/upload') {\n return 'iu';\n }\n if (hasSuffix) {\n if (shortSEOType) {\n return shortSEOType;\n }\n else {\n throw new Error(`URL Suffix only supported for ${Object.keys(SEO_TYPES).join(', ')}, Provided: ${regularSEOType} instead`);\n }\n }\n // If all else fails, return the regular image/upload combination (asset/delivery)\n return regularSEOType;\n }\n getSignature() {\n if (this.signature) {\n return `s--${this.signature}--`;\n }\n else {\n return '';\n }\n }\n /**\n *\n * @description Creates a fully qualified CloudinaryURL\n * @return {string} CloudinaryURL\n * @throws Validation Errors\n */\n createCloudinaryURL(transformation, trackedAnalytics) {\n // In accordance with the existing implementation, if no publicID exists we should return nothing.\n if (!this.publicID) {\n return '';\n }\n // Throws if some options are mis-configured\n // See the function for more information on when it throws\n this.validateAssetForURLCreation();\n const prefix = getUrlPrefix(this.cloudName, this.urlConfig);\n const transformationString = transformation ? transformation.toString() : '';\n const version = getUrlVersion(this.publicID, this.version, this.urlConfig.forceVersion);\n const publicID = this.publicID;\n if (typeof transformation === 'string') {\n const url = [prefix, this.getResourceType(), this.getSignature(), transformationString, version, publicID.replace(/,/g, '%2C'), this.suffix]\n .filter((a) => a)\n .join('/');\n return url;\n }\n else {\n // Avoid applying encodeURI on entire string in case where we have transformations with comma (i.e. f_auto,q_auto)\n // Since encodeURI does not encode commas we replace commas *only* on the publicID\n const safeURL = [\n encodeURI(prefix),\n this.getResourceType(),\n this.getSignature(),\n encodeURI(transformationString),\n version,\n encodeURI(publicID).replace(/,/g, '%2C'),\n this.suffix && encodeURI(this.suffix)\n ]\n .filter((a) => a)\n .join('/')\n .replace(/\\?/g, '%3F')\n .replace(/=/g, '%3D');\n const shouldAddAnalytics = this.urlConfig.analytics !== false && !(publicID.includes('?'));\n let queryParamsString = '';\n if (typeof (this.urlConfig.queryParams) === 'object') {\n try {\n const queryParams = new URLSearchParams(this.urlConfig.queryParams);\n if (shouldAddAnalytics) {\n queryParams.set(\"_a\", getSDKAnalyticsSignature(trackedAnalytics));\n }\n queryParamsString = queryParams.toString();\n }\n catch (err) {\n console.error('Error: URLSearchParams is not available so the queryParams object cannot be parsed, please try passing as an already parsed string');\n }\n }\n else {\n queryParamsString = this.urlConfig.queryParams || '';\n if (shouldAddAnalytics) {\n queryParamsString += `${(queryParamsString.length > 0 ? '&' : '')}_a=${getSDKAnalyticsSignature(trackedAnalytics)}`;\n }\n }\n if (queryParamsString) {\n return `${safeURL}?${queryParamsString}`;\n }\n else {\n return safeURL;\n }\n }\n }\n}\nexport { CloudinaryFile };\n","import { CloudinaryFile } from \"./CloudinaryFile.js\";\nimport { DeliveryFormatAction } from \"@cloudinary/transformation-builder-sdk/actions/delivery/DeliveryFormatAction\";\n/**\n * @desc Cloudinary Transformable interface, extended by any class that needs a Transformation Interface\n * @summary SDK\n * @memberOf SDK\n */\nclass CloudinaryTransformable extends CloudinaryFile {\n constructor(publicID, cloudConfig, urlConfig, transformation) {\n /* istanbul ignore next */\n super(publicID, cloudConfig, urlConfig);\n this.transformation = transformation;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Animated} animated\n * @return {this}\n */\n animated(animated) {\n this.transformation.animated(animated);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Border} border\n * @return {this}\n */\n border(border) {\n this.transformation.border(border);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Reshape} reshape\n * @return {this}\n */\n reshape(reshape) {\n this.transformation.reshape(reshape);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Resize} resize\n * @return {this}\n */\n resize(resize) {\n this.transformation.resize(resize);\n return this;\n }\n /**\n * @desc An alias to Action Delivery.quality\n * @param {string|number} quality\n * @return {this}\n */\n quality(quality) {\n this.addAction(new DeliveryFormatAction('q', quality));\n return this;\n }\n /**\n * @desc An alias to Action Delivery.format\n * @param {string} format\n * @return {this}\n */\n format(format) {\n this.addAction(new DeliveryFormatAction('f', format));\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.RoundCorners} roundCorners\n * @return {this}\n */\n roundCorners(roundCorners) {\n this.transformation.roundCorners(roundCorners);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @return {this}\n */\n overlay(overlayAction) {\n this.transformation.overlay(overlayAction);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Variable} variableAction\n * @return {this}\n */\n addVariable(variableAction) {\n this.transformation.addVariable(variableAction);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Condition} conditionalAction\n * @return {this}\n */\n conditional(conditionalAction) {\n this.transformation.conditional(conditionalAction);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Effect} effect\n * @return {this}\n */\n effect(effect) {\n this.transformation.effect(effect);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Adjust} action\n * @return {this}\n */\n adjust(action) {\n this.transformation.adjust(action);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Rotate} rotate\n * @return {this}\n */\n rotate(rotate) {\n this.transformation.rotate(rotate);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.NamedTransformation} namedTransformation\n * @return {this}\n */\n namedTransformation(namedTransformation) {\n this.transformation.namedTransformation(namedTransformation);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Delivery} deliveryAction\n * @return {this}\n */\n delivery(deliveryAction) {\n this.transformation.delivery(deliveryAction);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Qualifiers.color} color\n * @return {this}\n */\n backgroundColor(color) {\n this.transformation.backgroundColor(color);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.PSDTools} action\n * @return {this}\n */\n psdTools(action) {\n this.transformation.psdTools(action);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Extract} action\n * @return {this}\n */\n extract(action) {\n this.transformation.extract(action);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Qualifiers.Flag | string} flagQualifier\n * @return {this}\n */\n addFlag(flagQualifier) {\n this.transformation.addFlag(flagQualifier);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.CustomFunction} customFunction\n * @return {this}\n */\n customFunction(customFunction) {\n this.transformation.customFunction(customFunction);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {SDK.Action | string} action\n * @return {this}\n */\n addAction(action) {\n this.transformation.addAction(action);\n return this;\n }\n /**\n * @description Extend your transformation with another transformation\n * @param { string | SDK.Transformation } tx\n */\n addTransformation(tx) {\n this.transformation.addTransformation(tx);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @return {string}\n */\n toString() {\n return this.transformation.toString();\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @return {this}\n */\n underlay(underlayAction) {\n this.transformation.underlay(underlayAction);\n return this;\n }\n toURL(overwriteOptions = {}) {\n return this.createCloudinaryURL(this.transformation, overwriteOptions === null || overwriteOptions === void 0 ? void 0 : overwriteOptions.trackedAnalytics);\n }\n}\nexport { CloudinaryTransformable };\n","import { ImageTransformation } from \"@cloudinary/transformation-builder-sdk/transformation/ImageTransformation\";\nimport { CloudinaryTransformable } from \"./CloudinaryTransformable.js\";\n/**\n * @desc Cloudinary image asset, with image-related transformations\n * @summary SDK\n * @memberOf SDK\n */\nclass CloudinaryImage extends CloudinaryTransformable {\n constructor(publicID, cloudConfig, urlConfig) {\n /* istanbul ignore next */\n super(publicID, cloudConfig, urlConfig, new ImageTransformation());\n }\n}\nexport { CloudinaryImage };\n","import { CloudinaryTransformable } from \"./CloudinaryTransformable.js\";\nimport { VideoTransformation } from \"../transformation/VideoTransformation.js\";\n/**\n * @desc Cloudinary video asset, with video-related transformations\n * @summary SDK\n * @memberOf SDK\n */\nclass CloudinaryVideo extends CloudinaryTransformable {\n constructor(publicID, cloudConfig, urlConfig) {\n /* istanbul ignore next */\n super(publicID, cloudConfig, urlConfig, new VideoTransformation());\n this.assetType = 'video';\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.Transcode} action\n * @return {this}\n */\n transcode(action) {\n this.transformation.transcode(action);\n return this;\n }\n /**\n * @desc A proxy to {@link SDK.Transformation| Transformation} - Calls the same method contained in this.transformation\n * @param {Actions.VideoEdit} action\n * @return {this}\n */\n videoEdit(action) {\n this.transformation.videoEdit(action);\n return this;\n }\n}\nexport { CloudinaryVideo };\n","import { CloudinaryImage } from \"../assets/CloudinaryImage.js\";\nimport { CloudinaryVideo } from \"../assets/CloudinaryVideo.js\";\nclass Cloudinary {\n constructor(cloudinaryConfig) {\n if (cloudinaryConfig) {\n this.cloudinaryConfig = cloudinaryConfig;\n }\n }\n image(publicID) {\n return new CloudinaryImage(publicID, this.cloudinaryConfig.cloud, this.cloudinaryConfig.url);\n }\n video(publicID) {\n return new CloudinaryVideo(publicID, this.cloudinaryConfig.cloud, this.cloudinaryConfig.url);\n }\n setConfig(cloudinaryConfig) {\n this.cloudinaryConfig = cloudinaryConfig;\n return this;\n }\n getConfig() {\n return this.cloudinaryConfig;\n }\n extendConfig() {\n // Future implementation\n }\n}\nexport { Cloudinary };\n","import { createContext } from 'react';\n/**\n * Create the React Context\n */ export const DndContext = createContext({\n dragDropManager: undefined\n});\n\n//# sourceMappingURL=DndContext.js.map","/**\n * @license React\n * react-jsx-runtime.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 f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changedâ€. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\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 */ export function invariant(condition, format, ...args) {\n if (isProduction()) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n if (!condition) {\n let error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n let argIndex = 0;\n error = new Error(format.replace(/%s/g, function() {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n error.framesToPop = 1 // we don't care about invariant's own frame\n ;\n throw error;\n }\n}\nfunction isProduction() {\n return typeof process !== 'undefined' && process.env['NODE_ENV'] === 'production';\n}\n\n//# sourceMappingURL=index.js.map","// cheap lodash replacements\n/**\n * drop-in replacement for _.get\n * @param obj\n * @param path\n * @param defaultValue\n */ export function get(obj, path, defaultValue) {\n return path.split('.').reduce((a, c)=>a && a[c] ? a[c] : defaultValue || null\n , obj);\n}\n/**\n * drop-in replacement for _.without\n */ export function without(items, item) {\n return items.filter((i)=>i !== item\n );\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */ export function isString(input) {\n return typeof input === 'string';\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */ export function isObject(input) {\n return typeof input === 'object';\n}\n/**\n * replacement for _.xor\n * @param itemsA\n * @param itemsB\n */ export function xor(itemsA, itemsB) {\n const map = new Map();\n const insertItem = (item)=>{\n map.set(item, map.has(item) ? map.get(item) + 1 : 1);\n };\n itemsA.forEach(insertItem);\n itemsB.forEach(insertItem);\n const result = [];\n map.forEach((count, key)=>{\n if (count === 1) {\n result.push(key);\n }\n });\n return result;\n}\n/**\n * replacement for _.intersection\n * @param itemsA\n * @param itemsB\n */ export function intersection(itemsA, itemsB) {\n return itemsA.filter((t)=>itemsB.indexOf(t) > -1\n );\n}\n\n//# sourceMappingURL=js_utils.js.map","export const INIT_COORDS = 'dnd-core/INIT_COORDS';\nexport const BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexport const PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexport const HOVER = 'dnd-core/HOVER';\nexport const DROP = 'dnd-core/DROP';\nexport const END_DRAG = 'dnd-core/END_DRAG';\n\n//# sourceMappingURL=types.js.map","import { INIT_COORDS } from '../types.js';\nexport function setClientOffset(clientOffset, sourceClientOffset) {\n return {\n type: INIT_COORDS,\n payload: {\n sourceClientOffset: sourceClientOffset || null,\n clientOffset: clientOffset || null\n }\n };\n}\n\n//# sourceMappingURL=setClientOffset.js.map","import { invariant } from '@react-dnd/invariant';\nimport { isObject } from '../../utils/js_utils.js';\nimport { setClientOffset } from './local/setClientOffset.js';\nimport { BEGIN_DRAG, INIT_COORDS } from './types.js';\nconst ResetCoordinatesAction = {\n type: INIT_COORDS,\n payload: {\n clientOffset: null,\n sourceClientOffset: null\n }\n};\nexport function createBeginDrag(manager) {\n return function beginDrag(sourceIds = [], options = {\n publishSource: true\n }) {\n const { publishSource =true , clientOffset , getSourceClientOffset , } = options;\n const monitor = manager.getMonitor();\n const registry = manager.getRegistry();\n // Initialize the coordinates using the client offset\n manager.dispatch(setClientOffset(clientOffset));\n verifyInvariants(sourceIds, monitor, registry);\n // Get the draggable source\n const sourceId = getDraggableSource(sourceIds, monitor);\n if (sourceId == null) {\n manager.dispatch(ResetCoordinatesAction);\n return;\n }\n // Get the source client offset\n let sourceClientOffset = null;\n if (clientOffset) {\n if (!getSourceClientOffset) {\n throw new Error('getSourceClientOffset must be defined');\n }\n verifyGetSourceClientOffsetIsFunction(getSourceClientOffset);\n sourceClientOffset = getSourceClientOffset(sourceId);\n }\n // Initialize the full coordinates\n manager.dispatch(setClientOffset(clientOffset, sourceClientOffset));\n const source = registry.getSource(sourceId);\n const item = source.beginDrag(monitor, sourceId);\n // If source.beginDrag returns null, this is an indicator to cancel the drag\n if (item == null) {\n return undefined;\n }\n verifyItemIsObject(item);\n registry.pinSource(sourceId);\n const itemType = registry.getSourceType(sourceId);\n return {\n type: BEGIN_DRAG,\n payload: {\n itemType,\n item,\n sourceId,\n clientOffset: clientOffset || null,\n sourceClientOffset: sourceClientOffset || null,\n isSourcePublic: !!publishSource\n }\n };\n };\n}\nfunction verifyInvariants(sourceIds, monitor, registry) {\n invariant(!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n sourceIds.forEach(function(sourceId) {\n invariant(registry.getSource(sourceId), 'Expected sourceIds to be registered.');\n });\n}\nfunction verifyGetSourceClientOffsetIsFunction(getSourceClientOffset) {\n invariant(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n}\nfunction verifyItemIsObject(item) {\n invariant(isObject(item), 'Item must be an object.');\n}\nfunction getDraggableSource(sourceIds, monitor) {\n let sourceId = null;\n for(let i = sourceIds.length - 1; i >= 0; i--){\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n return sourceId;\n}\n\n//# sourceMappingURL=beginDrag.js.map","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nimport { invariant } from '@react-dnd/invariant';\nimport { isObject } from '../../utils/js_utils.js';\nimport { DROP } from './types.js';\nexport function createDrop(manager) {\n return function drop(options = {}) {\n const monitor = manager.getMonitor();\n const registry = manager.getRegistry();\n verifyInvariants(monitor);\n const targetIds = getDroppableTargets(monitor);\n // Multiple actions are dispatched here, which is why this doesn't return an action\n targetIds.forEach((targetId, index)=>{\n const dropResult = determineDropResult(targetId, index, registry, monitor);\n const action = {\n type: DROP,\n payload: {\n dropResult: _objectSpread({}, options, dropResult)\n }\n };\n manager.dispatch(action);\n });\n };\n}\nfunction verifyInvariants(monitor) {\n invariant(monitor.isDragging(), 'Cannot call drop while not dragging.');\n invariant(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n}\nfunction determineDropResult(targetId, index, registry, monitor) {\n const target = registry.getTarget(targetId);\n let dropResult = target ? target.drop(monitor, targetId) : undefined;\n verifyDropResultType(dropResult);\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n return dropResult;\n}\nfunction verifyDropResultType(dropResult) {\n invariant(typeof dropResult === 'undefined' || isObject(dropResult), 'Drop result must either be an object or undefined.');\n}\nfunction getDroppableTargets(monitor) {\n const targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n targetIds.reverse();\n return targetIds;\n}\n\n//# sourceMappingURL=drop.js.map","import { invariant } from '@react-dnd/invariant';\nimport { END_DRAG } from './types.js';\nexport function createEndDrag(manager) {\n return function endDrag() {\n const monitor = manager.getMonitor();\n const registry = manager.getRegistry();\n verifyIsDragging(monitor);\n const sourceId = monitor.getSourceId();\n if (sourceId != null) {\n const source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n registry.unpinSource();\n }\n return {\n type: END_DRAG\n };\n };\n}\nfunction verifyIsDragging(monitor) {\n invariant(monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n}\n\n//# sourceMappingURL=endDrag.js.map","export function matchesType(targetType, draggedItemType) {\n if (draggedItemType === null) {\n return targetType === null;\n }\n return Array.isArray(targetType) ? targetType.some((t)=>t === draggedItemType\n ) : targetType === draggedItemType;\n}\n\n//# sourceMappingURL=matchesType.js.map","import { invariant } from '@react-dnd/invariant';\nimport { matchesType } from '../../utils/matchesType.js';\nimport { HOVER } from './types.js';\nexport function createHover(manager) {\n return function hover(targetIdsArg, { clientOffset } = {}) {\n verifyTargetIdsIsArray(targetIdsArg);\n const targetIds = targetIdsArg.slice(0);\n const monitor = manager.getMonitor();\n const registry = manager.getRegistry();\n const draggedItemType = monitor.getItemType();\n removeNonMatchingTargetIds(targetIds, registry, draggedItemType);\n checkInvariants(targetIds, monitor, registry);\n hoverAllTargets(targetIds, monitor, registry);\n return {\n type: HOVER,\n payload: {\n targetIds,\n clientOffset: clientOffset || null\n }\n };\n };\n}\nfunction verifyTargetIdsIsArray(targetIdsArg) {\n invariant(Array.isArray(targetIdsArg), 'Expected targetIds to be an array.');\n}\nfunction checkInvariants(targetIds, monitor, registry) {\n invariant(monitor.isDragging(), 'Cannot call hover while not dragging.');\n invariant(!monitor.didDrop(), 'Cannot call hover after drop.');\n for(let i = 0; i < targetIds.length; i++){\n const targetId = targetIds[i];\n invariant(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n const target = registry.getTarget(targetId);\n invariant(target, 'Expected targetIds to be registered.');\n }\n}\nfunction removeNonMatchingTargetIds(targetIds, registry, draggedItemType) {\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for(let i = targetIds.length - 1; i >= 0; i--){\n const targetId = targetIds[i];\n const targetType = registry.getTargetType(targetId);\n if (!matchesType(targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n}\nfunction hoverAllTargets(targetIds, monitor, registry) {\n // Finally call hover on all matching targets.\n targetIds.forEach(function(targetId) {\n const target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n });\n}\n\n//# sourceMappingURL=hover.js.map","import { PUBLISH_DRAG_SOURCE } from './types.js';\nexport function createPublishDragSource(manager) {\n return function publishDragSource() {\n const monitor = manager.getMonitor();\n if (monitor.isDragging()) {\n return {\n type: PUBLISH_DRAG_SOURCE\n };\n }\n return;\n };\n}\n\n//# sourceMappingURL=publishDragSource.js.map","import { createBeginDrag } from './beginDrag.js';\nimport { createDrop } from './drop.js';\nimport { createEndDrag } from './endDrag.js';\nimport { createHover } from './hover.js';\nimport { createPublishDragSource } from './publishDragSource.js';\nexport * from './types.js';\nexport function createDragDropActions(manager) {\n return {\n beginDrag: createBeginDrag(manager),\n publishDragSource: createPublishDragSource(manager),\n hover: createHover(manager),\n drop: createDrop(manager),\n endDrag: createEndDrag(manager)\n };\n}\n\n//# sourceMappingURL=index.js.map","import { createDragDropActions } from '../actions/dragDrop/index.js';\nexport class DragDropManagerImpl {\n receiveBackend(backend) {\n this.backend = backend;\n }\n getMonitor() {\n return this.monitor;\n }\n getBackend() {\n return this.backend;\n }\n getRegistry() {\n return this.monitor.registry;\n }\n getActions() {\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */ const manager = this;\n const { dispatch } = this.store;\n function bindActionCreator(actionCreator) {\n return (...args)=>{\n const action = actionCreator.apply(manager, args);\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n const actions = createDragDropActions(this);\n return Object.keys(actions).reduce((boundActions, key)=>{\n const action = actions[key];\n boundActions[key] = bindActionCreator(action);\n return boundActions;\n }, {});\n }\n dispatch(action) {\n this.store.dispatch(action);\n }\n constructor(store, monitor){\n this.isSetUp = false;\n this.handleRefCountChange = ()=>{\n const shouldSetUp = this.store.getState().refCount > 0;\n if (this.backend) {\n if (shouldSetUp && !this.isSetUp) {\n this.backend.setup();\n this.isSetUp = true;\n } else if (!shouldSetUp && this.isSetUp) {\n this.backend.teardown();\n this.isSetUp = false;\n }\n }\n };\n this.store = store;\n this.monitor = monitor;\n store.subscribe(this.handleRefCountChange);\n }\n}\n\n//# sourceMappingURL=DragDropManagerImpl.js.map","/**\n * Coordinate addition\n * @param a The first coordinate\n * @param b The second coordinate\n */ export function add(a, b) {\n return {\n x: a.x + b.x,\n y: a.y + b.y\n };\n}\n/**\n * Coordinate subtraction\n * @param a The first coordinate\n * @param b The second coordinate\n */ export function subtract(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y\n };\n}\n/**\n * Returns the cartesian distance of the drag source component's position, based on its position\n * at the time when the current drag operation has started, and the movement difference.\n *\n * Returns null if no item is being dragged.\n *\n * @param state The offset state to compute from\n */ export function getSourceClientOffset(state) {\n const { clientOffset , initialClientOffset , initialSourceClientOffset } = state;\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset);\n}\n/**\n * Determines the x,y offset between the client offset and the initial client offset\n *\n * @param state The offset state to compute from\n */ export function getDifferenceFromInitialOffset(state) {\n const { clientOffset , initialClientOffset } = state;\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n return subtract(clientOffset, initialClientOffset);\n}\n\n//# sourceMappingURL=coords.js.map","import { intersection } from './js_utils.js';\nexport const NONE = [];\nexport const ALL = [];\nNONE.__IS_NONE__ = true;\nALL.__IS_ALL__ = true;\n/**\n * Determines if the given handler IDs are dirty or not.\n *\n * @param dirtyIds The set of dirty handler ids\n * @param handlerIds The set of handler ids to check\n */ export function areDirty(dirtyIds, handlerIds) {\n if (dirtyIds === NONE) {\n return false;\n }\n if (dirtyIds === ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n const commonIds = intersection(handlerIds, dirtyIds);\n return commonIds.length > 0;\n}\n\n//# sourceMappingURL=dirtiness.js.map","import { invariant } from '@react-dnd/invariant';\nimport { getDifferenceFromInitialOffset, getSourceClientOffset } from '../utils/coords.js';\nimport { areDirty } from '../utils/dirtiness.js';\nimport { matchesType } from '../utils/matchesType.js';\nexport class DragDropMonitorImpl {\n subscribeToStateChange(listener, options = {}) {\n const { handlerIds } = options;\n invariant(typeof listener === 'function', 'listener must be a function.');\n invariant(typeof handlerIds === 'undefined' || Array.isArray(handlerIds), 'handlerIds, when specified, must be an array of strings.');\n let prevStateId = this.store.getState().stateId;\n const handleChange = ()=>{\n const state = this.store.getState();\n const currentStateId = state.stateId;\n try {\n const canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 && !areDirty(state.dirtyHandlerIds, handlerIds);\n if (!canSkipListener) {\n listener();\n }\n } finally{\n prevStateId = currentStateId;\n }\n };\n return this.store.subscribe(handleChange);\n }\n subscribeToOffsetChange(listener) {\n invariant(typeof listener === 'function', 'listener must be a function.');\n let previousState = this.store.getState().dragOffset;\n const handleChange = ()=>{\n const nextState = this.store.getState().dragOffset;\n if (nextState === previousState) {\n return;\n }\n previousState = nextState;\n listener();\n };\n return this.store.subscribe(handleChange);\n }\n canDragSource(sourceId) {\n if (!sourceId) {\n return false;\n }\n const source = this.registry.getSource(sourceId);\n invariant(source, `Expected to find a valid source. sourceId=${sourceId}`);\n if (this.isDragging()) {\n return false;\n }\n return source.canDrag(this, sourceId);\n }\n canDropOnTarget(targetId) {\n // undefined on initial render\n if (!targetId) {\n return false;\n }\n const target = this.registry.getTarget(targetId);\n invariant(target, `Expected to find a valid target. targetId=${targetId}`);\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n const targetType = this.registry.getTargetType(targetId);\n const draggedItemType = this.getItemType();\n return matchesType(targetType, draggedItemType) && target.canDrop(this, targetId);\n }\n isDragging() {\n return Boolean(this.getItemType());\n }\n isDraggingSource(sourceId) {\n // undefined on initial render\n if (!sourceId) {\n return false;\n }\n const source = this.registry.getSource(sourceId, true);\n invariant(source, `Expected to find a valid source. sourceId=${sourceId}`);\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n const sourceType = this.registry.getSourceType(sourceId);\n const draggedItemType = this.getItemType();\n if (sourceType !== draggedItemType) {\n return false;\n }\n return source.isDragging(this, sourceId);\n }\n isOverTarget(targetId, options = {\n shallow: false\n }) {\n // undefined on initial render\n if (!targetId) {\n return false;\n }\n const { shallow } = options;\n if (!this.isDragging()) {\n return false;\n }\n const targetType = this.registry.getTargetType(targetId);\n const draggedItemType = this.getItemType();\n if (draggedItemType && !matchesType(targetType, draggedItemType)) {\n return false;\n }\n const targetIds = this.getTargetIds();\n if (!targetIds.length) {\n return false;\n }\n const index = targetIds.indexOf(targetId);\n if (shallow) {\n return index === targetIds.length - 1;\n } else {\n return index > -1;\n }\n }\n getItemType() {\n return this.store.getState().dragOperation.itemType;\n }\n getItem() {\n return this.store.getState().dragOperation.item;\n }\n getSourceId() {\n return this.store.getState().dragOperation.sourceId;\n }\n getTargetIds() {\n return this.store.getState().dragOperation.targetIds;\n }\n getDropResult() {\n return this.store.getState().dragOperation.dropResult;\n }\n didDrop() {\n return this.store.getState().dragOperation.didDrop;\n }\n isSourcePublic() {\n return Boolean(this.store.getState().dragOperation.isSourcePublic);\n }\n getInitialClientOffset() {\n return this.store.getState().dragOffset.initialClientOffset;\n }\n getInitialSourceClientOffset() {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n }\n getClientOffset() {\n return this.store.getState().dragOffset.clientOffset;\n }\n getSourceClientOffset() {\n return getSourceClientOffset(this.store.getState().dragOffset);\n }\n getDifferenceFromInitialOffset() {\n return getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n }\n constructor(store, registry){\n this.store = store;\n this.registry = registry;\n }\n}\n\n//# sourceMappingURL=DragDropMonitorImpl.js.map","// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n/* globals self */ const scope = typeof global !== 'undefined' ? global : self;\nconst BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\nexport function makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n const timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n const intervalHandle = setInterval(handleTimer, 50);\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nexport function makeRequestCallFromMutationObserver(callback) {\n let toggle = 1;\n const observer = new BrowserMutationObserver(callback);\n const node = document.createTextNode('');\n observer.observe(node, {\n characterData: true\n });\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\nexport const makeRequestCall = typeof BrowserMutationObserver === 'function' ? // reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nmakeRequestCallFromMutationObserver : // task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\nmakeRequestCallFromTimer;\n\n//# sourceMappingURL=makeRequestCall.js.map","/* eslint-disable no-restricted-globals, @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unused-vars, @typescript-eslint/no-non-null-assertion */ import { makeRequestCall, makeRequestCallFromTimer } from './makeRequestCall.js';\nexport class AsapQueue {\n // Use the fastest means possible to execute a task in its own turn, with\n // priority over other events including IO, animation, reflow, and redraw\n // events in browsers.\n //\n // An exception thrown by a task will permanently interrupt the processing of\n // subsequent tasks. The higher level `asap` function ensures that if an\n // exception is thrown by a task, that the task queue will continue flushing as\n // soon as possible, but if you use `rawAsap` directly, you are responsible to\n // either ensure that no exceptions are thrown from your task, or to manually\n // call `rawAsap.requestFlush` if an exception is thrown.\n enqueueTask(task) {\n const { queue: q , requestFlush } = this;\n if (!q.length) {\n requestFlush();\n this.flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n q[q.length] = task;\n }\n constructor(){\n this.queue = [];\n // We queue errors to ensure they are thrown in right order (FIFO).\n // Array-as-queue is good enough here, since we are just dealing with exceptions.\n this.pendingErrors = [];\n // Once a flush has been requested, no further calls to `requestFlush` are\n // necessary until the next `flush` completes.\n // @ts-ignore\n this.flushing = false;\n // The position of the next task to execute in the task queue. This is\n // preserved between calls to `flush` so that it can be resumed if\n // a task throws an exception.\n this.index = 0;\n // If a task schedules additional tasks recursively, the task queue can grow\n // unbounded. To prevent memory exhaustion, the task queue will periodically\n // truncate already-completed tasks.\n this.capacity = 1024;\n // The flush function processes all tasks that have been scheduled with\n // `rawAsap` unless and until one of those tasks throws an exception.\n // If a task throws an exception, `flush` ensures that its state will remain\n // consistent and will resume where it left off when called again.\n // However, `flush` does not make any arrangements to be called again if an\n // exception is thrown.\n this.flush = ()=>{\n const { queue: q } = this;\n while(this.index < q.length){\n const currentIndex = this.index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n this.index++;\n q[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (this.index > this.capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for(let scan = 0, newLength = q.length - this.index; scan < newLength; scan++){\n q[scan] = q[scan + this.index];\n }\n q.length -= this.index;\n this.index = 0;\n }\n }\n q.length = 0;\n this.index = 0;\n this.flushing = false;\n };\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n this.registerPendingError = (err)=>{\n this.pendingErrors.push(err);\n this.requestErrorThrow();\n };\n // `requestFlush` requests that the high priority event queue be flushed as\n // soon as possible.\n // This is useful to prevent an error thrown in a task from stalling the event\n // queue if the exception handled by Node.js’s\n // `process.on(\"uncaughtException\")` or by a domain.\n // `requestFlush` is implemented using a strategy based on data collected from\n // every available SauceLabs Selenium web driver worker at time of writing.\n // https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n this.requestFlush = makeRequestCall(this.flush);\n this.requestErrorThrow = makeRequestCallFromTimer(()=>{\n // Throw first error\n if (this.pendingErrors.length) {\n throw this.pendingErrors.shift();\n }\n });\n }\n} // The message channel technique was discovered by Malte Ubl and was the\n // original foundation for this library.\n // http://www.nonblocking.io/2011/06/windownexttick.html\n // Safari 6.0.5 (at least) intermittently fails to create message ports on a\n // page's first load. Thankfully, this version of Safari supports\n // MutationObservers, so we don't need to fall back in that case.\n // function makeRequestCallFromMessageChannel(callback) {\n // var channel = new MessageChannel();\n // channel.port1.onmessage = callback;\n // return function requestCall() {\n // channel.port2.postMessage(0);\n // };\n // }\n // For reasons explained above, we are also unable to use `setImmediate`\n // under any circumstances.\n // Even if we were, there is another bug in Internet Explorer 10.\n // It is not sufficient to assign `setImmediate` to `requestFlush` because\n // `setImmediate` must be called *by name* and therefore must be wrapped in a\n // closure.\n // Never forget.\n // function makeRequestCallFromSetImmediate(callback) {\n // return function requestCall() {\n // setImmediate(callback);\n // };\n // }\n // Safari 6.0 has a problem where timers will get lost while the user is\n // scrolling. This problem does not impact ASAP because Safari 6.0 supports\n // mutation observers, so that implementation is used instead.\n // However, if we ever elect to use timers in Safari, the prevalent work-around\n // is to add a scroll event listener that calls for a flush.\n // `setTimeout` does not call the passed callback if the delay is less than\n // approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n // even then.\n // This is for `asap.js` only.\n // Its name will be periodically randomized to break any code that depends on\n // // its existence.\n // rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer\n // ASAP was originally a nextTick shim included in Q. This was factored out\n // into this ASAP package. It was later adapted to RSVP which made further\n // amendments. These decisions, particularly to marginalize MessageChannel and\n // to capture the MutationObserver implementation in a closure, were integrated\n // back into ASAP proper.\n // https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n//# sourceMappingURL=AsapQueue.js.map","// `call`, just like a function.\nexport class RawTask {\n call() {\n try {\n this.task && this.task();\n } catch (error) {\n this.onError(error);\n } finally{\n this.task = null;\n this.release(this);\n }\n }\n constructor(onError, release){\n this.onError = onError;\n this.release = release;\n this.task = null;\n }\n}\n\n//# sourceMappingURL=RawTask.js.map","import { RawTask } from './RawTask.js';\nexport class TaskFactory {\n create(task) {\n const tasks = this.freeTasks;\n const t1 = tasks.length ? tasks.pop() : new RawTask(this.onError, (t)=>tasks[tasks.length] = t\n );\n t1.task = task;\n return t1;\n }\n constructor(onError){\n this.onError = onError;\n this.freeTasks = [];\n }\n}\n\n//# sourceMappingURL=TaskFactory.js.map","import { AsapQueue } from './AsapQueue.js';\nimport { TaskFactory } from './TaskFactory.js';\nconst asapQueue = new AsapQueue();\nconst taskFactory = new TaskFactory(asapQueue.registerPendingError);\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */ export function asap(task) {\n asapQueue.enqueueTask(taskFactory.create(task));\n}\n\n//# sourceMappingURL=asap.js.map","export const ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexport const ADD_TARGET = 'dnd-core/ADD_TARGET';\nexport const REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexport const REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\nexport function addSource(sourceId) {\n return {\n type: ADD_SOURCE,\n payload: {\n sourceId\n }\n };\n}\nexport function addTarget(targetId) {\n return {\n type: ADD_TARGET,\n payload: {\n targetId\n }\n };\n}\nexport function removeSource(sourceId) {\n return {\n type: REMOVE_SOURCE,\n payload: {\n sourceId\n }\n };\n}\nexport function removeTarget(targetId) {\n return {\n type: REMOVE_TARGET,\n payload: {\n targetId\n }\n };\n}\n\n//# sourceMappingURL=registry.js.map","import { invariant } from '@react-dnd/invariant';\nexport function validateSourceContract(source) {\n invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\nexport function validateTargetContract(target) {\n invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n invariant(typeof target.hover === 'function', 'Expected hover to be a function.');\n invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\nexport function validateType(type, allowArray) {\n if (allowArray && Array.isArray(type)) {\n type.forEach((t)=>validateType(t, false)\n );\n return;\n }\n invariant(typeof type === 'string' || typeof type === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\n}\n\n//# sourceMappingURL=contracts.js.map","export var HandlerRole;\n(function(HandlerRole) {\n HandlerRole[\"SOURCE\"] = \"SOURCE\";\n HandlerRole[\"TARGET\"] = \"TARGET\";\n})(HandlerRole || (HandlerRole = {}));\n\n//# sourceMappingURL=interfaces.js.map","let nextUniqueId = 0;\nexport function getNextUniqueId() {\n return nextUniqueId++;\n}\n\n//# sourceMappingURL=getNextUniqueId.js.map","import { asap } from '@react-dnd/asap';\nimport { invariant } from '@react-dnd/invariant';\nimport { addSource, addTarget, removeSource, removeTarget } from '../actions/registry.js';\nimport { validateSourceContract, validateTargetContract, validateType } from '../contracts.js';\nimport { HandlerRole } from '../interfaces.js';\nimport { getNextUniqueId } from '../utils/getNextUniqueId.js';\nfunction getNextHandlerId(role) {\n const id = getNextUniqueId().toString();\n switch(role){\n case HandlerRole.SOURCE:\n return `S${id}`;\n case HandlerRole.TARGET:\n return `T${id}`;\n default:\n throw new Error(`Unknown Handler Role: ${role}`);\n }\n}\nfunction parseRoleFromHandlerId(handlerId) {\n switch(handlerId[0]){\n case 'S':\n return HandlerRole.SOURCE;\n case 'T':\n return HandlerRole.TARGET;\n default:\n throw new Error(`Cannot parse handler ID: ${handlerId}`);\n }\n}\nfunction mapContainsValue(map, searchValue) {\n const entries = map.entries();\n let isDone = false;\n do {\n const { done , value: [, value] , } = entries.next();\n if (value === searchValue) {\n return true;\n }\n isDone = !!done;\n }while (!isDone)\n return false;\n}\nexport class HandlerRegistryImpl {\n addSource(type, source) {\n validateType(type);\n validateSourceContract(source);\n const sourceId = this.addHandler(HandlerRole.SOURCE, type, source);\n this.store.dispatch(addSource(sourceId));\n return sourceId;\n }\n addTarget(type, target) {\n validateType(type, true);\n validateTargetContract(target);\n const targetId = this.addHandler(HandlerRole.TARGET, type, target);\n this.store.dispatch(addTarget(targetId));\n return targetId;\n }\n containsHandler(handler) {\n return mapContainsValue(this.dragSources, handler) || mapContainsValue(this.dropTargets, handler);\n }\n getSource(sourceId, includePinned = false) {\n invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n const isPinned = includePinned && sourceId === this.pinnedSourceId;\n const source = isPinned ? this.pinnedSource : this.dragSources.get(sourceId);\n return source;\n }\n getTarget(targetId) {\n invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.dropTargets.get(targetId);\n }\n getSourceType(sourceId) {\n invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types.get(sourceId);\n }\n getTargetType(targetId) {\n invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types.get(targetId);\n }\n isSourceId(handlerId) {\n const role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRole.SOURCE;\n }\n isTargetId(handlerId) {\n const role = parseRoleFromHandlerId(handlerId);\n return role === HandlerRole.TARGET;\n }\n removeSource(sourceId) {\n invariant(this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(removeSource(sourceId));\n asap(()=>{\n this.dragSources.delete(sourceId);\n this.types.delete(sourceId);\n });\n }\n removeTarget(targetId) {\n invariant(this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(removeTarget(targetId));\n this.dropTargets.delete(targetId);\n this.types.delete(targetId);\n }\n pinSource(sourceId) {\n const source = this.getSource(sourceId);\n invariant(source, 'Expected an existing source.');\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n }\n unpinSource() {\n invariant(this.pinnedSource, 'No source is pinned at the time.');\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n addHandler(role, type, handler) {\n const id = getNextHandlerId(role);\n this.types.set(id, type);\n if (role === HandlerRole.SOURCE) {\n this.dragSources.set(id, handler);\n } else if (role === HandlerRole.TARGET) {\n this.dropTargets.set(id, handler);\n }\n return id;\n }\n constructor(store){\n this.types = new Map();\n this.dragSources = new Map();\n this.dropTargets = new Map();\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n this.store = store;\n }\n}\n\n//# sourceMappingURL=HandlerRegistryImpl.js.map","export const strictEquality = (a, b)=>a === b\n;\n/**\n * Determine if two cartesian coordinate offsets are equal\n * @param offsetA\n * @param offsetB\n */ export function areCoordsEqual(offsetA, offsetB) {\n if (!offsetA && !offsetB) {\n return true;\n } else if (!offsetA || !offsetB) {\n return false;\n } else {\n return offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n }\n}\n/**\n * Determines if two arrays of items are equal\n * @param a The first array of items\n * @param b The second array of items\n */ export function areArraysEqual(a, b, isEqual = strictEquality) {\n if (a.length !== b.length) {\n return false;\n }\n for(let i = 0; i < a.length; ++i){\n if (!isEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n}\n\n//# sourceMappingURL=equality.js.map","import { BEGIN_DRAG, DROP, END_DRAG, HOVER, PUBLISH_DRAG_SOURCE } from '../actions/dragDrop/index.js';\nimport { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry.js';\nimport { ALL, NONE } from '../utils/dirtiness.js';\nimport { areArraysEqual } from '../utils/equality.js';\nimport { xor } from '../utils/js_utils.js';\nexport function reduce(// eslint-disable-next-line @typescript-eslint/no-unused-vars\n_state = NONE, action) {\n switch(action.type){\n case HOVER:\n break;\n case ADD_SOURCE:\n case ADD_TARGET:\n case REMOVE_TARGET:\n case REMOVE_SOURCE:\n return NONE;\n case BEGIN_DRAG:\n case PUBLISH_DRAG_SOURCE:\n case END_DRAG:\n case DROP:\n default:\n return ALL;\n }\n const { targetIds =[] , prevTargetIds =[] } = action.payload;\n const result = xor(targetIds, prevTargetIds);\n const didChange = result.length > 0 || !areArraysEqual(targetIds, prevTargetIds);\n if (!didChange) {\n return NONE;\n }\n // Check the target ids at the innermost position. If they are valid, add them\n // to the result\n const prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n const innermostTargetId = targetIds[targetIds.length - 1];\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n result.push(prevInnermostTargetId);\n }\n if (innermostTargetId) {\n result.push(innermostTargetId);\n }\n }\n return result;\n}\n\n//# sourceMappingURL=dirtyHandlerIds.js.map","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nimport { BEGIN_DRAG, DROP, END_DRAG, HOVER, INIT_COORDS } from '../actions/dragDrop/index.js';\nimport { areCoordsEqual } from '../utils/equality.js';\nconst initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null\n};\nexport function reduce(state = initialState, action) {\n const { payload } = action;\n switch(action.type){\n case INIT_COORDS:\n case BEGIN_DRAG:\n return {\n initialSourceClientOffset: payload.sourceClientOffset,\n initialClientOffset: payload.clientOffset,\n clientOffset: payload.clientOffset\n };\n case HOVER:\n if (areCoordsEqual(state.clientOffset, payload.clientOffset)) {\n return state;\n }\n return _objectSpread({}, state, {\n clientOffset: payload.clientOffset\n });\n case END_DRAG:\n case DROP:\n return initialState;\n default:\n return state;\n }\n}\n\n//# sourceMappingURL=dragOffset.js.map","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nimport { BEGIN_DRAG, DROP, END_DRAG, HOVER, PUBLISH_DRAG_SOURCE } from '../actions/dragDrop/index.js';\nimport { REMOVE_TARGET } from '../actions/registry.js';\nimport { without } from '../utils/js_utils.js';\nconst initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null\n};\nexport function reduce(state = initialState, action) {\n const { payload } = action;\n switch(action.type){\n case BEGIN_DRAG:\n return _objectSpread({}, state, {\n itemType: payload.itemType,\n item: payload.item,\n sourceId: payload.sourceId,\n isSourcePublic: payload.isSourcePublic,\n dropResult: null,\n didDrop: false\n });\n case PUBLISH_DRAG_SOURCE:\n return _objectSpread({}, state, {\n isSourcePublic: true\n });\n case HOVER:\n return _objectSpread({}, state, {\n targetIds: payload.targetIds\n });\n case REMOVE_TARGET:\n if (state.targetIds.indexOf(payload.targetId) === -1) {\n return state;\n }\n return _objectSpread({}, state, {\n targetIds: without(state.targetIds, payload.targetId)\n });\n case DROP:\n return _objectSpread({}, state, {\n dropResult: payload.dropResult,\n didDrop: true,\n targetIds: []\n });\n case END_DRAG:\n return _objectSpread({}, state, {\n itemType: null,\n item: null,\n sourceId: null,\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n targetIds: []\n });\n default:\n return state;\n }\n}\n\n//# sourceMappingURL=dragOperation.js.map","import { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry.js';\nexport function reduce(state = 0, action) {\n switch(action.type){\n case ADD_SOURCE:\n case ADD_TARGET:\n return state + 1;\n case REMOVE_SOURCE:\n case REMOVE_TARGET:\n return state - 1;\n default:\n return state;\n }\n}\n\n//# sourceMappingURL=refCount.js.map","export function reduce(state = 0) {\n return state + 1;\n}\n\n//# sourceMappingURL=stateId.js.map","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nimport { get } from '../utils/js_utils.js';\nimport { reduce as dirtyHandlerIds } from './dirtyHandlerIds.js';\nimport { reduce as dragOffset } from './dragOffset.js';\nimport { reduce as dragOperation } from './dragOperation.js';\nimport { reduce as refCount } from './refCount.js';\nimport { reduce as stateId } from './stateId.js';\nexport function reduce(state = {}, action) {\n return {\n dirtyHandlerIds: dirtyHandlerIds(state.dirtyHandlerIds, {\n type: action.type,\n payload: _objectSpread({}, action.payload, {\n prevTargetIds: get(state, 'dragOperation.targetIds', [])\n })\n }),\n dragOffset: dragOffset(state.dragOffset, action),\n refCount: refCount(state.refCount, action),\n dragOperation: dragOperation(state.dragOperation, action),\n stateId: stateId(state.stateId)\n };\n}\n\n//# sourceMappingURL=index.js.map","import { createStore } from 'redux';\nimport { DragDropManagerImpl } from './classes/DragDropManagerImpl.js';\nimport { DragDropMonitorImpl } from './classes/DragDropMonitorImpl.js';\nimport { HandlerRegistryImpl } from './classes/HandlerRegistryImpl.js';\nimport { reduce } from './reducers/index.js';\nexport function createDragDropManager(backendFactory, globalContext = undefined, backendOptions = {}, debugMode = false) {\n const store = makeStoreInstance(debugMode);\n const monitor = new DragDropMonitorImpl(store, new HandlerRegistryImpl(store));\n const manager = new DragDropManagerImpl(store, monitor);\n const backend = backendFactory(manager, globalContext, backendOptions);\n manager.receiveBackend(backend);\n return manager;\n}\nfunction makeStoreInstance(debugMode) {\n // TODO: if we ever make a react-native version of this,\n // we'll need to consider how to pull off dev-tooling\n const reduxDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__;\n return createStore(reduce, debugMode && reduxDevTools && reduxDevTools({\n name: 'dnd-core',\n instanceId: 'dnd-core'\n }));\n}\n\n//# sourceMappingURL=createDragDropManager.js.map","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}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for(i = 0; i < sourceKeys.length; i++){\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createDragDropManager } from 'dnd-core';\nimport { memo, useEffect } from 'react';\nimport { DndContext } from './DndContext.js';\nlet refCount = 0;\nconst INSTANCE_SYM = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__');\nvar DndProvider = /*#__PURE__*/ memo(function DndProvider(_param) {\n var { children } = _param, props = _objectWithoutProperties(_param, [\n \"children\"\n ]);\n const [manager, isGlobalInstance] = getDndContextValue(props) // memoized from props\n ;\n /**\n\t\t * If the global context was used to store the DND context\n\t\t * then where theres no more references to it we should\n\t\t * clean it up to avoid memory leaks\n\t\t */ useEffect(()=>{\n if (isGlobalInstance) {\n const context = getGlobalContext();\n ++refCount;\n return ()=>{\n if (--refCount === 0) {\n context[INSTANCE_SYM] = null;\n }\n };\n }\n return;\n }, []);\n return /*#__PURE__*/ _jsx(DndContext.Provider, {\n value: manager,\n children: children\n });\n});\n/**\n * A React component that provides the React-DnD context\n */ export { DndProvider, };\nfunction getDndContextValue(props) {\n if ('manager' in props) {\n const manager = {\n dragDropManager: props.manager\n };\n return [\n manager,\n false\n ];\n }\n const manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode);\n const isGlobalInstance = !props.context;\n return [\n manager,\n isGlobalInstance\n ];\n}\nfunction createSingletonDndContext(backend, context = getGlobalContext(), options, debugMode) {\n const ctx = context;\n if (!ctx[INSTANCE_SYM]) {\n ctx[INSTANCE_SYM] = {\n dragDropManager: createDragDropManager(backend, context, options, debugMode)\n };\n }\n return ctx[INSTANCE_SYM];\n}\nfunction getGlobalContext() {\n return typeof global !== 'undefined' ? global : window;\n}\n\n//# sourceMappingURL=DndProvider.js.map","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","import { useEffect, useLayoutEffect } from 'react';\n// suppress the useLayoutEffect warning on server side.\nexport const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map","import equal from 'fast-deep-equal';\nimport { useCallback, useState } from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';\n/**\n *\n * @param monitor The monitor to collect state from\n * @param collect The collecting function\n * @param onUpdate A method to invoke when updates occur\n */ export function useCollector(monitor, collect, onUpdate) {\n const [collected, setCollected] = useState(()=>collect(monitor)\n );\n const updateCollected = useCallback(()=>{\n const nextValue = collect(monitor);\n // This needs to be a deep-equality check because some monitor-collected values\n // include XYCoord objects that may be equivalent, but do not have instance equality.\n if (!equal(collected, nextValue)) {\n setCollected(nextValue);\n if (onUpdate) {\n onUpdate();\n }\n }\n }, [\n collected,\n monitor,\n onUpdate\n ]);\n // update the collected properties after react renders.\n // Note that the \"Dustbin Stress Test\" fails if this is not\n // done when the component updates\n useIsomorphicLayoutEffect(updateCollected);\n return [\n collected,\n updateCollected\n ];\n}\n\n//# sourceMappingURL=useCollector.js.map","import { useCollector } from './useCollector.js';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';\nexport function useMonitorOutput(monitor, collect, onCollect) {\n const [collected, updateCollected] = useCollector(monitor, collect, onCollect);\n useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() {\n const handlerId = monitor.getHandlerId();\n if (handlerId == null) {\n return;\n }\n return monitor.subscribeToStateChange(updateCollected, {\n handlerIds: [\n handlerId\n ]\n });\n }, [\n monitor,\n updateCollected\n ]);\n return collected;\n}\n\n//# sourceMappingURL=useMonitorOutput.js.map","import { useMonitorOutput } from './useMonitorOutput.js';\nexport function useCollectedProps(collector, monitor, connector) {\n return useMonitorOutput(monitor, collector || (()=>({})\n ), ()=>connector.reconnect()\n );\n}\n\n//# sourceMappingURL=useCollectedProps.js.map","import { useMemo } from 'react';\nexport function useOptionalFactory(arg, deps) {\n const memoDeps = [\n ...deps || []\n ];\n if (deps == null && typeof arg !== 'function') {\n memoDeps.push(arg);\n }\n return useMemo(()=>{\n return typeof arg === 'function' ? arg() : arg;\n }, memoDeps);\n}\n\n//# sourceMappingURL=useOptionalFactory.js.map","import { useMemo } from 'react';\nexport function useConnectDragSource(connector) {\n return useMemo(()=>connector.hooks.dragSource()\n , [\n connector\n ]);\n}\nexport function useConnectDragPreview(connector) {\n return useMemo(()=>connector.hooks.dragPreview()\n , [\n connector\n ]);\n}\n\n//# sourceMappingURL=connectors.js.map","import { invariant } from '@react-dnd/invariant';\nlet isCallingCanDrag = false;\nlet isCallingIsDragging = false;\nexport class DragSourceMonitorImpl {\n receiveHandlerId(sourceId) {\n this.sourceId = sourceId;\n }\n getHandlerId() {\n return this.sourceId;\n }\n canDrag() {\n invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor');\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n } finally{\n isCallingCanDrag = false;\n }\n }\n isDragging() {\n if (!this.sourceId) {\n return false;\n }\n invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor');\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n } finally{\n isCallingIsDragging = false;\n }\n }\n subscribeToStateChange(listener, options) {\n return this.internalMonitor.subscribeToStateChange(listener, options);\n }\n isDraggingSource(sourceId) {\n return this.internalMonitor.isDraggingSource(sourceId);\n }\n isOverTarget(targetId, options) {\n return this.internalMonitor.isOverTarget(targetId, options);\n }\n getTargetIds() {\n return this.internalMonitor.getTargetIds();\n }\n isSourcePublic() {\n return this.internalMonitor.isSourcePublic();\n }\n getSourceId() {\n return this.internalMonitor.getSourceId();\n }\n subscribeToOffsetChange(listener) {\n return this.internalMonitor.subscribeToOffsetChange(listener);\n }\n canDragSource(sourceId) {\n return this.internalMonitor.canDragSource(sourceId);\n }\n canDropOnTarget(targetId) {\n return this.internalMonitor.canDropOnTarget(targetId);\n }\n getItemType() {\n return this.internalMonitor.getItemType();\n }\n getItem() {\n return this.internalMonitor.getItem();\n }\n getDropResult() {\n return this.internalMonitor.getDropResult();\n }\n didDrop() {\n return this.internalMonitor.didDrop();\n }\n getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n }\n getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n }\n getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n }\n getClientOffset() {\n return this.internalMonitor.getClientOffset();\n }\n getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n }\n constructor(manager){\n this.sourceId = null;\n this.internalMonitor = manager.getMonitor();\n }\n}\n\n//# sourceMappingURL=DragSourceMonitorImpl.js.map","import { invariant } from '@react-dnd/invariant';\nlet isCallingCanDrop = false;\nexport class DropTargetMonitorImpl {\n receiveHandlerId(targetId) {\n this.targetId = targetId;\n }\n getHandlerId() {\n return this.targetId;\n }\n subscribeToStateChange(listener, options) {\n return this.internalMonitor.subscribeToStateChange(listener, options);\n }\n canDrop() {\n // Cut out early if the target id has not been set. This should prevent errors\n // where the user has an older version of dnd-core like in\n // https://github.com/react-dnd/react-dnd/issues/1310\n if (!this.targetId) {\n return false;\n }\n invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor');\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n } finally{\n isCallingCanDrop = false;\n }\n }\n isOver(options) {\n if (!this.targetId) {\n return false;\n }\n return this.internalMonitor.isOverTarget(this.targetId, options);\n }\n getItemType() {\n return this.internalMonitor.getItemType();\n }\n getItem() {\n return this.internalMonitor.getItem();\n }\n getDropResult() {\n return this.internalMonitor.getDropResult();\n }\n didDrop() {\n return this.internalMonitor.didDrop();\n }\n getInitialClientOffset() {\n return this.internalMonitor.getInitialClientOffset();\n }\n getInitialSourceClientOffset() {\n return this.internalMonitor.getInitialSourceClientOffset();\n }\n getSourceClientOffset() {\n return this.internalMonitor.getSourceClientOffset();\n }\n getClientOffset() {\n return this.internalMonitor.getClientOffset();\n }\n getDifferenceFromInitialOffset() {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n }\n constructor(manager){\n this.targetId = null;\n this.internalMonitor = manager.getMonitor();\n }\n}\n\n//# sourceMappingURL=DropTargetMonitorImpl.js.map","export function registerTarget(type, target, manager) {\n const registry = manager.getRegistry();\n const targetId = registry.addTarget(type, target);\n return [\n targetId,\n ()=>registry.removeTarget(targetId)\n ];\n}\nexport function registerSource(type, source, manager) {\n const registry = manager.getRegistry();\n const sourceId = registry.addSource(type, source);\n return [\n sourceId,\n ()=>registry.removeSource(sourceId)\n ];\n}\n\n//# sourceMappingURL=registration.js.map","export function shallowEqual(objA, objB, compare, compareContext) {\n let compareResult = compare ? compare.call(compareContext, objA, objB) : void 0;\n if (compareResult !== void 0) {\n return !!compareResult;\n }\n if (objA === objB) {\n return true;\n }\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n // Test for A's keys different from B.\n for(let idx = 0; idx < keysA.length; idx++){\n const key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n const valueA = objA[key];\n const valueB = objB[key];\n compareResult = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n if (compareResult === false || compareResult === void 0 && valueA !== valueB) {\n return false;\n }\n }\n return true;\n}\n\n//# sourceMappingURL=index.js.map","export function isRef(obj) {\n return(// eslint-disable-next-line no-prototype-builtins\n obj !== null && typeof obj === 'object' && Object.prototype.hasOwnProperty.call(obj, 'current'));\n}\n\n//# sourceMappingURL=isRef.js.map","import { invariant } from '@react-dnd/invariant';\nimport { cloneElement, isValidElement } from 'react';\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n const displayName = element.type.displayName || element.type.name || 'the component';\n throw new Error('Only native element nodes can now be passed to React DnD connectors.' + `You can either wrap ${displayName} into a <div>, or turn it into a ` + 'drag source or a drop target itself.');\n}\nfunction wrapHookToRecognizeElement(hook) {\n return (elementOrNode = null, options = null)=>{\n // When passed a node, call the hook straight away.\n if (!isValidElement(elementOrNode)) {\n const node = elementOrNode;\n hook(node, options);\n // return the node so it can be chained (e.g. when within callback refs\n // <div ref={node => connectDragSource(connectDropTarget(node))}/>\n return node;\n }\n // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n const element = elementOrNode;\n throwIfCompositeComponentElement(element);\n // When no options are passed, use the hook directly\n const ref = options ? (node)=>hook(node, options)\n : hook;\n return cloneWithRef(element, ref);\n };\n}\nexport function wrapConnectorHooks(hooks) {\n const wrappedHooks = {};\n Object.keys(hooks).forEach((key)=>{\n const hook = hooks[key];\n // ref objects should be passed straight through without wrapping\n if (key.endsWith('Ref')) {\n wrappedHooks[key] = hooks[key];\n } else {\n const wrappedHook = wrapHookToRecognizeElement(hook);\n wrappedHooks[key] = ()=>wrappedHook\n ;\n }\n });\n return wrappedHooks;\n}\nfunction setRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n}\nfunction cloneWithRef(element, newRef) {\n const previousRef = element.ref;\n invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. ' + 'Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs');\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return cloneElement(element, {\n ref: newRef\n });\n } else {\n return cloneElement(element, {\n ref: (node)=>{\n setRef(previousRef, node);\n setRef(newRef, node);\n }\n });\n }\n}\n\n//# sourceMappingURL=wrapConnectorHooks.js.map","import { shallowEqual } from '@react-dnd/shallowequal';\nimport { isRef } from './isRef.js';\nimport { wrapConnectorHooks } from './wrapConnectorHooks.js';\nexport class SourceConnector {\n receiveHandlerId(newHandlerId) {\n if (this.handlerId === newHandlerId) {\n return;\n }\n this.handlerId = newHandlerId;\n this.reconnect();\n }\n get connectTarget() {\n return this.dragSource;\n }\n get dragSourceOptions() {\n return this.dragSourceOptionsInternal;\n }\n set dragSourceOptions(options) {\n this.dragSourceOptionsInternal = options;\n }\n get dragPreviewOptions() {\n return this.dragPreviewOptionsInternal;\n }\n set dragPreviewOptions(options) {\n this.dragPreviewOptionsInternal = options;\n }\n reconnect() {\n const didChange = this.reconnectDragSource();\n this.reconnectDragPreview(didChange);\n }\n reconnectDragSource() {\n const dragSource = this.dragSource;\n // if nothing has changed then don't resubscribe\n const didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange();\n if (didChange) {\n this.disconnectDragSource();\n }\n if (!this.handlerId) {\n return didChange;\n }\n if (!dragSource) {\n this.lastConnectedDragSource = dragSource;\n return didChange;\n }\n if (didChange) {\n this.lastConnectedHandlerId = this.handlerId;\n this.lastConnectedDragSource = dragSource;\n this.lastConnectedDragSourceOptions = this.dragSourceOptions;\n this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions);\n }\n return didChange;\n }\n reconnectDragPreview(forceDidChange = false) {\n const dragPreview = this.dragPreview;\n // if nothing has changed then don't resubscribe\n const didChange = forceDidChange || this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange();\n if (didChange) {\n this.disconnectDragPreview();\n }\n if (!this.handlerId) {\n return;\n }\n if (!dragPreview) {\n this.lastConnectedDragPreview = dragPreview;\n return;\n }\n if (didChange) {\n this.lastConnectedHandlerId = this.handlerId;\n this.lastConnectedDragPreview = dragPreview;\n this.lastConnectedDragPreviewOptions = this.dragPreviewOptions;\n this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions);\n }\n }\n didHandlerIdChange() {\n return this.lastConnectedHandlerId !== this.handlerId;\n }\n didConnectedDragSourceChange() {\n return this.lastConnectedDragSource !== this.dragSource;\n }\n didConnectedDragPreviewChange() {\n return this.lastConnectedDragPreview !== this.dragPreview;\n }\n didDragSourceOptionsChange() {\n return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions);\n }\n didDragPreviewOptionsChange() {\n return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions);\n }\n disconnectDragSource() {\n if (this.dragSourceUnsubscribe) {\n this.dragSourceUnsubscribe();\n this.dragSourceUnsubscribe = undefined;\n }\n }\n disconnectDragPreview() {\n if (this.dragPreviewUnsubscribe) {\n this.dragPreviewUnsubscribe();\n this.dragPreviewUnsubscribe = undefined;\n this.dragPreviewNode = null;\n this.dragPreviewRef = null;\n }\n }\n get dragSource() {\n return this.dragSourceNode || this.dragSourceRef && this.dragSourceRef.current;\n }\n get dragPreview() {\n return this.dragPreviewNode || this.dragPreviewRef && this.dragPreviewRef.current;\n }\n clearDragSource() {\n this.dragSourceNode = null;\n this.dragSourceRef = null;\n }\n clearDragPreview() {\n this.dragPreviewNode = null;\n this.dragPreviewRef = null;\n }\n constructor(backend){\n this.hooks = wrapConnectorHooks({\n dragSource: (node, options)=>{\n this.clearDragSource();\n this.dragSourceOptions = options || null;\n if (isRef(node)) {\n this.dragSourceRef = node;\n } else {\n this.dragSourceNode = node;\n }\n this.reconnectDragSource();\n },\n dragPreview: (node, options)=>{\n this.clearDragPreview();\n this.dragPreviewOptions = options || null;\n if (isRef(node)) {\n this.dragPreviewRef = node;\n } else {\n this.dragPreviewNode = node;\n }\n this.reconnectDragPreview();\n }\n });\n this.handlerId = null;\n // The drop target may either be attached via ref or connect function\n this.dragSourceRef = null;\n this.dragSourceOptionsInternal = null;\n // The drag preview may either be attached via ref or connect function\n this.dragPreviewRef = null;\n this.dragPreviewOptionsInternal = null;\n this.lastConnectedHandlerId = null;\n this.lastConnectedDragSource = null;\n this.lastConnectedDragSourceOptions = null;\n this.lastConnectedDragPreview = null;\n this.lastConnectedDragPreviewOptions = null;\n this.backend = backend;\n }\n}\n\n//# sourceMappingURL=SourceConnector.js.map","import { shallowEqual } from '@react-dnd/shallowequal';\nimport { isRef } from './isRef.js';\nimport { wrapConnectorHooks } from './wrapConnectorHooks.js';\nexport class TargetConnector {\n get connectTarget() {\n return this.dropTarget;\n }\n reconnect() {\n // if nothing has changed then don't resubscribe\n const didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange();\n if (didChange) {\n this.disconnectDropTarget();\n }\n const dropTarget = this.dropTarget;\n if (!this.handlerId) {\n return;\n }\n if (!dropTarget) {\n this.lastConnectedDropTarget = dropTarget;\n return;\n }\n if (didChange) {\n this.lastConnectedHandlerId = this.handlerId;\n this.lastConnectedDropTarget = dropTarget;\n this.lastConnectedDropTargetOptions = this.dropTargetOptions;\n this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions);\n }\n }\n receiveHandlerId(newHandlerId) {\n if (newHandlerId === this.handlerId) {\n return;\n }\n this.handlerId = newHandlerId;\n this.reconnect();\n }\n get dropTargetOptions() {\n return this.dropTargetOptionsInternal;\n }\n set dropTargetOptions(options) {\n this.dropTargetOptionsInternal = options;\n }\n didHandlerIdChange() {\n return this.lastConnectedHandlerId !== this.handlerId;\n }\n didDropTargetChange() {\n return this.lastConnectedDropTarget !== this.dropTarget;\n }\n didOptionsChange() {\n return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions);\n }\n disconnectDropTarget() {\n if (this.unsubscribeDropTarget) {\n this.unsubscribeDropTarget();\n this.unsubscribeDropTarget = undefined;\n }\n }\n get dropTarget() {\n return this.dropTargetNode || this.dropTargetRef && this.dropTargetRef.current;\n }\n clearDropTarget() {\n this.dropTargetRef = null;\n this.dropTargetNode = null;\n }\n constructor(backend){\n this.hooks = wrapConnectorHooks({\n dropTarget: (node, options)=>{\n this.clearDropTarget();\n this.dropTargetOptions = options;\n if (isRef(node)) {\n this.dropTargetRef = node;\n } else {\n this.dropTargetNode = node;\n }\n this.reconnect();\n }\n });\n this.handlerId = null;\n // The drop target may either be attached via ref or connect function\n this.dropTargetRef = null;\n this.dropTargetOptionsInternal = null;\n this.lastConnectedHandlerId = null;\n this.lastConnectedDropTarget = null;\n this.lastConnectedDropTargetOptions = null;\n this.backend = backend;\n }\n}\n\n//# sourceMappingURL=TargetConnector.js.map","import { invariant } from '@react-dnd/invariant';\nimport { useContext } from 'react';\nimport { DndContext } from '../core/index.js';\n/**\n * A hook to retrieve the DragDropManager from Context\n */ export function useDragDropManager() {\n const { dragDropManager } = useContext(DndContext);\n invariant(dragDropManager != null, 'Expected drag drop context');\n return dragDropManager;\n}\n\n//# sourceMappingURL=useDragDropManager.js.map","import { useMemo } from 'react';\nimport { SourceConnector } from '../../internals/index.js';\nimport { useDragDropManager } from '../useDragDropManager.js';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect.js';\nexport function useDragSourceConnector(dragSourceOptions, dragPreviewOptions) {\n const manager = useDragDropManager();\n const connector = useMemo(()=>new SourceConnector(manager.getBackend())\n , [\n manager\n ]);\n useIsomorphicLayoutEffect(()=>{\n connector.dragSourceOptions = dragSourceOptions || null;\n connector.reconnect();\n return ()=>connector.disconnectDragSource()\n ;\n }, [\n connector,\n dragSourceOptions\n ]);\n useIsomorphicLayoutEffect(()=>{\n connector.dragPreviewOptions = dragPreviewOptions || null;\n connector.reconnect();\n return ()=>connector.disconnectDragPreview()\n ;\n }, [\n connector,\n dragPreviewOptions\n ]);\n return connector;\n}\n\n//# sourceMappingURL=useDragSourceConnector.js.map","import { useMemo } from 'react';\nimport { DragSourceMonitorImpl } from '../../internals/index.js';\nimport { useDragDropManager } from '../useDragDropManager.js';\nexport function useDragSourceMonitor() {\n const manager = useDragDropManager();\n return useMemo(()=>new DragSourceMonitorImpl(manager)\n , [\n manager\n ]);\n}\n\n//# sourceMappingURL=useDragSourceMonitor.js.map","export class DragSourceImpl {\n beginDrag() {\n const spec = this.spec;\n const monitor = this.monitor;\n let result = null;\n if (typeof spec.item === 'object') {\n result = spec.item;\n } else if (typeof spec.item === 'function') {\n result = spec.item(monitor);\n } else {\n result = {};\n }\n return result !== null && result !== void 0 ? result : null;\n }\n canDrag() {\n const spec = this.spec;\n const monitor = this.monitor;\n if (typeof spec.canDrag === 'boolean') {\n return spec.canDrag;\n } else if (typeof spec.canDrag === 'function') {\n return spec.canDrag(monitor);\n } else {\n return true;\n }\n }\n isDragging(globalMonitor, target) {\n const spec = this.spec;\n const monitor = this.monitor;\n const { isDragging } = spec;\n return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId();\n }\n endDrag() {\n const spec = this.spec;\n const monitor = this.monitor;\n const connector = this.connector;\n const { end } = spec;\n if (end) {\n end(monitor.getItem(), monitor);\n }\n connector.reconnect();\n }\n constructor(spec, monitor, connector){\n this.spec = spec;\n this.monitor = monitor;\n this.connector = connector;\n }\n}\n\n//# sourceMappingURL=DragSourceImpl.js.map","import { useEffect, useMemo } from 'react';\nimport { DragSourceImpl } from './DragSourceImpl.js';\nexport function useDragSource(spec, monitor, connector) {\n const handler = useMemo(()=>new DragSourceImpl(spec, monitor, connector)\n , [\n monitor,\n connector\n ]);\n useEffect(()=>{\n handler.spec = spec;\n }, [\n spec\n ]);\n return handler;\n}\n\n//# sourceMappingURL=useDragSource.js.map","import { invariant } from '@react-dnd/invariant';\nimport { useMemo } from 'react';\nexport function useDragType(spec) {\n return useMemo(()=>{\n const result = spec.type;\n invariant(result != null, 'spec.type must be defined');\n return result;\n }, [\n spec\n ]);\n}\n\n//# sourceMappingURL=useDragType.js.map","import { registerSource } from '../../internals/index.js';\nimport { useDragDropManager } from '../useDragDropManager.js';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect.js';\nimport { useDragSource } from './useDragSource.js';\nimport { useDragType } from './useDragType.js';\nexport function useRegisteredDragSource(spec, monitor, connector) {\n const manager = useDragDropManager();\n const handler = useDragSource(spec, monitor, connector);\n const itemType = useDragType(spec);\n useIsomorphicLayoutEffect(function registerDragSource() {\n if (itemType != null) {\n const [handlerId, unregister] = registerSource(itemType, handler, manager);\n monitor.receiveHandlerId(handlerId);\n connector.receiveHandlerId(handlerId);\n return unregister;\n }\n return;\n }, [\n manager,\n monitor,\n connector,\n handler,\n itemType\n ]);\n}\n\n//# sourceMappingURL=useRegisteredDragSource.js.map","import { invariant } from '@react-dnd/invariant';\nimport { useCollectedProps } from '../useCollectedProps.js';\nimport { useOptionalFactory } from '../useOptionalFactory.js';\nimport { useConnectDragPreview, useConnectDragSource } from './connectors.js';\nimport { useDragSourceConnector } from './useDragSourceConnector.js';\nimport { useDragSourceMonitor } from './useDragSourceMonitor.js';\nimport { useRegisteredDragSource } from './useRegisteredDragSource.js';\n/**\n * useDragSource hook\n * @param sourceSpec The drag source specification (object or function, function preferred)\n * @param deps The memoization deps array to use when evaluating spec changes\n */ export function useDrag(specArg, deps) {\n const spec = useOptionalFactory(specArg, deps);\n invariant(!spec.begin, `useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)`);\n const monitor = useDragSourceMonitor();\n const connector = useDragSourceConnector(spec.options, spec.previewOptions);\n useRegisteredDragSource(spec, monitor, connector);\n return [\n useCollectedProps(spec.collect, monitor, connector),\n useConnectDragSource(connector),\n useConnectDragPreview(connector), \n ];\n}\n\n//# sourceMappingURL=useDrag.js.map","import { useMemo } from 'react';\nexport function useConnectDropTarget(connector) {\n return useMemo(()=>connector.hooks.dropTarget()\n , [\n connector\n ]);\n}\n\n//# sourceMappingURL=connectors.js.map","import { useMemo } from 'react';\nimport { TargetConnector } from '../../internals/index.js';\nimport { useDragDropManager } from '../useDragDropManager.js';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect.js';\nexport function useDropTargetConnector(options) {\n const manager = useDragDropManager();\n const connector = useMemo(()=>new TargetConnector(manager.getBackend())\n , [\n manager\n ]);\n useIsomorphicLayoutEffect(()=>{\n connector.dropTargetOptions = options || null;\n connector.reconnect();\n return ()=>connector.disconnectDropTarget()\n ;\n }, [\n options\n ]);\n return connector;\n}\n\n//# sourceMappingURL=useDropTargetConnector.js.map","import { useMemo } from 'react';\nimport { DropTargetMonitorImpl } from '../../internals/index.js';\nimport { useDragDropManager } from '../useDragDropManager.js';\nexport function useDropTargetMonitor() {\n const manager = useDragDropManager();\n return useMemo(()=>new DropTargetMonitorImpl(manager)\n , [\n manager\n ]);\n}\n\n//# sourceMappingURL=useDropTargetMonitor.js.map","import { invariant } from '@react-dnd/invariant';\nimport { useMemo } from 'react';\n/**\n * Internal utility hook to get an array-version of spec.accept.\n * The main utility here is that we aren't creating a new array on every render if a non-array spec.accept is passed in.\n * @param spec\n */ export function useAccept(spec) {\n const { accept } = spec;\n return useMemo(()=>{\n invariant(spec.accept != null, 'accept must be defined');\n return Array.isArray(accept) ? accept : [\n accept\n ];\n }, [\n accept\n ]);\n}\n\n//# sourceMappingURL=useAccept.js.map","export class DropTargetImpl {\n canDrop() {\n const spec = this.spec;\n const monitor = this.monitor;\n return spec.canDrop ? spec.canDrop(monitor.getItem(), monitor) : true;\n }\n hover() {\n const spec = this.spec;\n const monitor = this.monitor;\n if (spec.hover) {\n spec.hover(monitor.getItem(), monitor);\n }\n }\n drop() {\n const spec = this.spec;\n const monitor = this.monitor;\n if (spec.drop) {\n return spec.drop(monitor.getItem(), monitor);\n }\n return;\n }\n constructor(spec, monitor){\n this.spec = spec;\n this.monitor = monitor;\n }\n}\n\n//# sourceMappingURL=DropTargetImpl.js.map","import { useEffect, useMemo } from 'react';\nimport { DropTargetImpl } from './DropTargetImpl.js';\nexport function useDropTarget(spec, monitor) {\n const dropTarget = useMemo(()=>new DropTargetImpl(spec, monitor)\n , [\n monitor\n ]);\n useEffect(()=>{\n dropTarget.spec = spec;\n }, [\n spec\n ]);\n return dropTarget;\n}\n\n//# sourceMappingURL=useDropTarget.js.map","import { registerTarget } from '../../internals/index.js';\nimport { useDragDropManager } from '../useDragDropManager.js';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect.js';\nimport { useAccept } from './useAccept.js';\nimport { useDropTarget } from './useDropTarget.js';\nexport function useRegisteredDropTarget(spec, monitor, connector) {\n const manager = useDragDropManager();\n const dropTarget = useDropTarget(spec, monitor);\n const accept = useAccept(spec);\n useIsomorphicLayoutEffect(function registerDropTarget() {\n const [handlerId, unregister] = registerTarget(accept, dropTarget, manager);\n monitor.receiveHandlerId(handlerId);\n connector.receiveHandlerId(handlerId);\n return unregister;\n }, [\n manager,\n monitor,\n dropTarget,\n connector,\n accept.map((a)=>a.toString()\n ).join('|'), \n ]);\n}\n\n//# sourceMappingURL=useRegisteredDropTarget.js.map","import { useCollectedProps } from '../useCollectedProps.js';\nimport { useOptionalFactory } from '../useOptionalFactory.js';\nimport { useConnectDropTarget } from './connectors.js';\nimport { useDropTargetConnector } from './useDropTargetConnector.js';\nimport { useDropTargetMonitor } from './useDropTargetMonitor.js';\nimport { useRegisteredDropTarget } from './useRegisteredDropTarget.js';\n/**\n * useDropTarget Hook\n * @param spec The drop target specification (object or function, function preferred)\n * @param deps The memoization deps array to use when evaluating spec changes\n */ export function useDrop(specArg, deps) {\n const spec = useOptionalFactory(specArg, deps);\n const monitor = useDropTargetMonitor();\n const connector = useDropTargetConnector(spec.options);\n useRegisteredDropTarget(spec, monitor, connector);\n return [\n useCollectedProps(spec.collect, monitor, connector),\n useConnectDropTarget(connector), \n ];\n}\n\n//# sourceMappingURL=useDrop.js.map","// cheap lodash replacements\nexport function memoize(fn) {\n let result = null;\n const memoized = ()=>{\n if (result == null) {\n result = fn();\n }\n return result;\n };\n return memoized;\n}\n/**\n * drop-in replacement for _.without\n */ export function without(items, item) {\n return items.filter((i)=>i !== item\n );\n}\nexport function union(itemsA, itemsB) {\n const set = new Set();\n const insertItem = (item)=>set.add(item)\n ;\n itemsA.forEach(insertItem);\n itemsB.forEach(insertItem);\n const result = [];\n set.forEach((key)=>result.push(key)\n );\n return result;\n}\n\n//# sourceMappingURL=js_utils.js.map","import { union, without } from './utils/js_utils.js';\nexport class EnterLeaveCounter {\n enter(enteringNode) {\n const previousLength = this.entered.length;\n const isNodeEntered = (node)=>this.isNodeInDocument(node) && (!node.contains || node.contains(enteringNode))\n ;\n this.entered = union(this.entered.filter(isNodeEntered), [\n enteringNode\n ]);\n return previousLength === 0 && this.entered.length > 0;\n }\n leave(leavingNode) {\n const previousLength = this.entered.length;\n this.entered = without(this.entered.filter(this.isNodeInDocument), leavingNode);\n return previousLength > 0 && this.entered.length === 0;\n }\n reset() {\n this.entered = [];\n }\n constructor(isNodeInDocument){\n this.entered = [];\n this.isNodeInDocument = isNodeInDocument;\n }\n}\n\n//# sourceMappingURL=EnterLeaveCounter.js.map","export class NativeDragSource {\n initializeExposedProperties() {\n Object.keys(this.config.exposeProperties).forEach((property)=>{\n Object.defineProperty(this.item, property, {\n configurable: true,\n enumerable: true,\n get () {\n // eslint-disable-next-line no-console\n console.warn(`Browser doesn't allow reading \"${property}\" until the drop event.`);\n return null;\n }\n });\n });\n }\n loadDataTransfer(dataTransfer) {\n if (dataTransfer) {\n const newProperties = {};\n Object.keys(this.config.exposeProperties).forEach((property)=>{\n const propertyFn = this.config.exposeProperties[property];\n if (propertyFn != null) {\n newProperties[property] = {\n value: propertyFn(dataTransfer, this.config.matchesTypes),\n configurable: true,\n enumerable: true\n };\n }\n });\n Object.defineProperties(this.item, newProperties);\n }\n }\n canDrag() {\n return true;\n }\n beginDrag() {\n return this.item;\n }\n isDragging(monitor, handle) {\n return handle === monitor.getSourceId();\n }\n endDrag() {\n // empty\n }\n constructor(config){\n this.config = config;\n this.item = {};\n this.initializeExposedProperties();\n }\n}\n\n//# sourceMappingURL=NativeDragSource.js.map","export const FILE = '__NATIVE_FILE__';\nexport const URL = '__NATIVE_URL__';\nexport const TEXT = '__NATIVE_TEXT__';\nexport const HTML = '__NATIVE_HTML__';\n\n//# sourceMappingURL=NativeTypes.js.map","export function getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n const result = typesToTry.reduce((resultSoFar, typeToTry)=>resultSoFar || dataTransfer.getData(typeToTry)\n , '');\n return result != null ? result : defaultValue;\n}\n\n//# sourceMappingURL=getDataFromDataTransfer.js.map","import * as NativeTypes from '../NativeTypes.js';\nimport { getDataFromDataTransfer } from './getDataFromDataTransfer.js';\nexport const nativeTypesConfig = {\n [NativeTypes.FILE]: {\n exposeProperties: {\n files: (dataTransfer)=>Array.prototype.slice.call(dataTransfer.files)\n ,\n items: (dataTransfer)=>dataTransfer.items\n ,\n dataTransfer: (dataTransfer)=>dataTransfer\n },\n matchesTypes: [\n 'Files'\n ]\n },\n [NativeTypes.HTML]: {\n exposeProperties: {\n html: (dataTransfer, matchesTypes)=>getDataFromDataTransfer(dataTransfer, matchesTypes, '')\n ,\n dataTransfer: (dataTransfer)=>dataTransfer\n },\n matchesTypes: [\n 'Html',\n 'text/html'\n ]\n },\n [NativeTypes.URL]: {\n exposeProperties: {\n urls: (dataTransfer, matchesTypes)=>getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n')\n ,\n dataTransfer: (dataTransfer)=>dataTransfer\n },\n matchesTypes: [\n 'Url',\n 'text/uri-list'\n ]\n },\n [NativeTypes.TEXT]: {\n exposeProperties: {\n text: (dataTransfer, matchesTypes)=>getDataFromDataTransfer(dataTransfer, matchesTypes, '')\n ,\n dataTransfer: (dataTransfer)=>dataTransfer\n },\n matchesTypes: [\n 'Text',\n 'text/plain'\n ]\n }\n};\n\n//# sourceMappingURL=nativeTypesConfig.js.map","import { NativeDragSource } from './NativeDragSource.js';\nimport { nativeTypesConfig } from './nativeTypesConfig.js';\nexport function createNativeDragSource(type, dataTransfer) {\n const config = nativeTypesConfig[type];\n if (!config) {\n throw new Error(`native type ${type} has no configuration`);\n }\n const result = new NativeDragSource(config);\n result.loadDataTransfer(dataTransfer);\n return result;\n}\nexport function matchNativeItemType(dataTransfer) {\n if (!dataTransfer) {\n return null;\n }\n const dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n return Object.keys(nativeTypesConfig).filter((nativeItemType)=>{\n const typeConfig = nativeTypesConfig[nativeItemType];\n if (!(typeConfig === null || typeConfig === void 0 ? void 0 : typeConfig.matchesTypes)) {\n return false;\n }\n return typeConfig.matchesTypes.some((t)=>dataTransferTypes.indexOf(t) > -1\n );\n })[0] || null;\n}\n\n//# sourceMappingURL=index.js.map","import { memoize } from './utils/js_utils.js';\nexport const isFirefox = memoize(()=>/firefox/i.test(navigator.userAgent)\n);\nexport const isSafari = memoize(()=>Boolean(window.safari)\n);\n\n//# sourceMappingURL=BrowserDetector.js.map","export class MonotonicInterpolant {\n interpolate(x) {\n const { xs , ys , c1s , c2s , c3s } = this;\n // The rightmost point in the dataset should give an exact result\n let i = xs.length - 1;\n if (x === xs[i]) {\n return ys[i];\n }\n // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n let low = 0;\n let high = c3s.length - 1;\n let mid;\n while(low <= high){\n mid = Math.floor(0.5 * (low + high));\n const xHere = xs[mid];\n if (xHere < x) {\n low = mid + 1;\n } else if (xHere > x) {\n high = mid - 1;\n } else {\n return ys[mid];\n }\n }\n i = Math.max(0, high);\n // Interpolate\n const diff = x - xs[i];\n const diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n }\n constructor(xs, ys){\n const { length } = xs;\n // Rearrange xs and ys so that xs is sorted\n const indexes = [];\n for(let i = 0; i < length; i++){\n indexes.push(i);\n }\n indexes.sort((a, b)=>xs[a] < xs[b] ? -1 : 1\n );\n // Get consecutive differences and slopes\n const dys = [];\n const dxs = [];\n const ms = [];\n let dx;\n let dy;\n for(let i1 = 0; i1 < length - 1; i1++){\n dx = xs[i1 + 1] - xs[i1];\n dy = ys[i1 + 1] - ys[i1];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n }\n // Get degree-1 coefficients\n const c1s = [\n ms[0]\n ];\n for(let i2 = 0; i2 < dxs.length - 1; i2++){\n const m2 = ms[i2];\n const mNext = ms[i2 + 1];\n if (m2 * mNext <= 0) {\n c1s.push(0);\n } else {\n dx = dxs[i2];\n const dxNext = dxs[i2 + 1];\n const common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext));\n }\n }\n c1s.push(ms[ms.length - 1]);\n // Get degree-2 and degree-3 coefficients\n const c2s = [];\n const c3s = [];\n let m;\n for(let i3 = 0; i3 < c1s.length - 1; i3++){\n m = ms[i3];\n const c1 = c1s[i3];\n const invDx = 1 / dxs[i3];\n const common = c1 + c1s[i3 + 1] - m - m;\n c2s.push((m - c1 - common) * invDx);\n c3s.push(common * invDx * invDx);\n }\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n}\n\n//# sourceMappingURL=MonotonicInterpolant.js.map","import { isFirefox, isSafari } from './BrowserDetector.js';\nimport { MonotonicInterpolant } from './MonotonicInterpolant.js';\nconst ELEMENT_NODE = 1;\nexport function getNodeClientOffset(node) {\n const el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n if (!el) {\n return null;\n }\n const { top , left } = el.getBoundingClientRect();\n return {\n x: left,\n y: top\n };\n}\nexport function getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY\n };\n}\nfunction isImageNode(node) {\n var ref;\n return node.nodeName === 'IMG' && (isFirefox() || !((ref = document.documentElement) === null || ref === void 0 ? void 0 : ref.contains(node)));\n}\nfunction getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) {\n let dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n let dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n // Work around @2x coordinate discrepancies in browsers\n if (isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n }\n return {\n dragPreviewWidth,\n dragPreviewHeight\n };\n}\nexport function getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n const isImage = isImageNode(dragPreview);\n const dragPreviewNode = isImage ? sourceNode : dragPreview;\n const dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n const offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y\n };\n const { offsetWidth: sourceWidth , offsetHeight: sourceHeight } = sourceNode;\n const { anchorX , anchorY } = anchorPoint;\n const { dragPreviewWidth , dragPreviewHeight } = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight);\n const calculateYOffset = ()=>{\n const interpolantY = new MonotonicInterpolant([\n 0,\n 0.5,\n 1\n ], [\n // Dock to the top\n offsetFromDragPreview.y,\n // Align at the center\n (offsetFromDragPreview.y / sourceHeight) * dragPreviewHeight,\n // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight, \n ]);\n let y = interpolantY.interpolate(anchorY);\n // Work around Safari 8 positioning bug\n if (isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n return y;\n };\n const calculateXOffset = ()=>{\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n const interpolantX = new MonotonicInterpolant([\n 0,\n 0.5,\n 1\n ], [\n // Dock to the left\n offsetFromDragPreview.x,\n // Align at the center\n (offsetFromDragPreview.x / sourceWidth) * dragPreviewWidth,\n // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth, \n ]);\n return interpolantX.interpolate(anchorX);\n };\n // Force offsets if specified in the options.\n const { offsetX , offsetY } = offsetPoint;\n const isManualOffsetX = offsetX === 0 || offsetX;\n const isManualOffsetY = offsetY === 0 || offsetY;\n return {\n x: isManualOffsetX ? offsetX : calculateXOffset(),\n y: isManualOffsetY ? offsetY : calculateYOffset()\n };\n}\n\n//# sourceMappingURL=OffsetUtils.js.map","export class OptionsReader {\n get window() {\n if (this.globalContext) {\n return this.globalContext;\n } else if (typeof window !== 'undefined') {\n return window;\n }\n return undefined;\n }\n get document() {\n var ref;\n if ((ref = this.globalContext) === null || ref === void 0 ? void 0 : ref.document) {\n return this.globalContext.document;\n } else if (this.window) {\n return this.window.document;\n } else {\n return undefined;\n }\n }\n get rootElement() {\n var ref;\n return ((ref = this.optionsArgs) === null || ref === void 0 ? void 0 : ref.rootElement) || this.window;\n }\n constructor(globalContext, options){\n this.ownerDocument = null;\n this.globalContext = globalContext;\n this.optionsArgs = options;\n }\n}\n\n//# sourceMappingURL=OptionsReader.js.map","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nimport { EnterLeaveCounter } from './EnterLeaveCounter.js';\nimport { createNativeDragSource, matchNativeItemType } from './NativeDragSources/index.js';\nimport * as NativeTypes from './NativeTypes.js';\nimport { getDragPreviewOffset, getEventClientOffset, getNodeClientOffset } from './OffsetUtils.js';\nimport { OptionsReader } from './OptionsReader.js';\nexport class HTML5BackendImpl {\n /**\n\t * Generate profiling statistics for the HTML5Backend.\n\t */ profile() {\n var ref, ref1;\n return {\n sourcePreviewNodes: this.sourcePreviewNodes.size,\n sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size,\n sourceNodeOptions: this.sourceNodeOptions.size,\n sourceNodes: this.sourceNodes.size,\n dragStartSourceIds: ((ref = this.dragStartSourceIds) === null || ref === void 0 ? void 0 : ref.length) || 0,\n dropTargetIds: this.dropTargetIds.length,\n dragEnterTargetIds: this.dragEnterTargetIds.length,\n dragOverTargetIds: ((ref1 = this.dragOverTargetIds) === null || ref1 === void 0 ? void 0 : ref1.length) || 0\n };\n }\n // public for test\n get window() {\n return this.options.window;\n }\n get document() {\n return this.options.document;\n }\n /**\n\t * Get the root element to use for event subscriptions\n\t */ get rootElement() {\n return this.options.rootElement;\n }\n setup() {\n const root = this.rootElement;\n if (root === undefined) {\n return;\n }\n if (root.__isReactDndBackendSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n root.__isReactDndBackendSetUp = true;\n this.addEventListeners(root);\n }\n teardown() {\n const root = this.rootElement;\n if (root === undefined) {\n return;\n }\n root.__isReactDndBackendSetUp = false;\n this.removeEventListeners(this.rootElement);\n this.clearCurrentDragSourceNode();\n if (this.asyncEndDragFrameId) {\n var ref;\n (ref = this.window) === null || ref === void 0 ? void 0 : ref.cancelAnimationFrame(this.asyncEndDragFrameId);\n }\n }\n connectDragPreview(sourceId, node, options) {\n this.sourcePreviewNodeOptions.set(sourceId, options);\n this.sourcePreviewNodes.set(sourceId, node);\n return ()=>{\n this.sourcePreviewNodes.delete(sourceId);\n this.sourcePreviewNodeOptions.delete(sourceId);\n };\n }\n connectDragSource(sourceId, node, options) {\n this.sourceNodes.set(sourceId, node);\n this.sourceNodeOptions.set(sourceId, options);\n const handleDragStart = (e)=>this.handleDragStart(e, sourceId)\n ;\n const handleSelectStart = (e)=>this.handleSelectStart(e)\n ;\n node.setAttribute('draggable', 'true');\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n return ()=>{\n this.sourceNodes.delete(sourceId);\n this.sourceNodeOptions.delete(sourceId);\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', 'false');\n };\n }\n connectDropTarget(targetId, node) {\n const handleDragEnter = (e)=>this.handleDragEnter(e, targetId)\n ;\n const handleDragOver = (e)=>this.handleDragOver(e, targetId)\n ;\n const handleDrop = (e)=>this.handleDrop(e, targetId)\n ;\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n return ()=>{\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n }\n addEventListeners(target) {\n // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813\n if (!target.addEventListener) {\n return;\n }\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n }\n removeEventListeners(target) {\n // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813\n if (!target.removeEventListener) {\n return;\n }\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n }\n getCurrentSourceNodeOptions() {\n const sourceId = this.monitor.getSourceId();\n const sourceNodeOptions = this.sourceNodeOptions.get(sourceId);\n return _objectSpread({\n dropEffect: this.altKeyPressed ? 'copy' : 'move'\n }, sourceNodeOptions || {});\n }\n getCurrentDropEffect() {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n return this.getCurrentSourceNodeOptions().dropEffect;\n }\n getCurrentSourcePreviewNodeOptions() {\n const sourceId = this.monitor.getSourceId();\n const sourcePreviewNodeOptions = this.sourcePreviewNodeOptions.get(sourceId);\n return _objectSpread({\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false\n }, sourcePreviewNodeOptions || {});\n }\n isDraggingNativeItem() {\n const itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some((key)=>NativeTypes[key] === itemType\n );\n }\n beginDragNativeItem(type, dataTransfer) {\n this.clearCurrentDragSourceNode();\n this.currentNativeSource = createNativeDragSource(type, dataTransfer);\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([\n this.currentNativeHandle\n ]);\n }\n setCurrentDragSourceNode(node) {\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node;\n // A timeout of > 0 is necessary to resolve Firefox issue referenced\n // See:\n // * https://github.com/react-dnd/react-dnd/pull/928\n // * https://github.com/react-dnd/react-dnd/issues/869\n const MOUSE_MOVE_TIMEOUT = 1000;\n // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n //\n // We need to wait before we start listening for mousemove events.\n // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event\n // immediately in some browsers.\n //\n // See:\n // * https://github.com/react-dnd/react-dnd/pull/928\n // * https://github.com/react-dnd/react-dnd/issues/869\n //\n this.mouseMoveTimeoutTimer = setTimeout(()=>{\n var ref;\n return (ref = this.rootElement) === null || ref === void 0 ? void 0 : ref.addEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n }, MOUSE_MOVE_TIMEOUT);\n }\n clearCurrentDragSourceNode() {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n if (this.rootElement) {\n var ref;\n (ref = this.window) === null || ref === void 0 ? void 0 : ref.clearTimeout(this.mouseMoveTimeoutTimer || undefined);\n this.rootElement.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n }\n this.mouseMoveTimeoutTimer = null;\n return true;\n }\n return false;\n }\n handleDragStart(e, sourceId) {\n if (e.defaultPrevented) {\n return;\n }\n if (!this.dragStartSourceIds) {\n this.dragStartSourceIds = [];\n }\n this.dragStartSourceIds.unshift(sourceId);\n }\n handleDragEnter(_e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n }\n handleDragOver(_e, targetId) {\n if (this.dragOverTargetIds === null) {\n this.dragOverTargetIds = [];\n }\n this.dragOverTargetIds.unshift(targetId);\n }\n handleDrop(_e, targetId) {\n this.dropTargetIds.unshift(targetId);\n }\n constructor(manager, globalContext, options){\n this.sourcePreviewNodes = new Map();\n this.sourcePreviewNodeOptions = new Map();\n this.sourceNodes = new Map();\n this.sourceNodeOptions = new Map();\n this.dragStartSourceIds = null;\n this.dropTargetIds = [];\n this.dragEnterTargetIds = [];\n this.currentNativeSource = null;\n this.currentNativeHandle = null;\n this.currentDragSourceNode = null;\n this.altKeyPressed = false;\n this.mouseMoveTimeoutTimer = null;\n this.asyncEndDragFrameId = null;\n this.dragOverTargetIds = null;\n this.lastClientOffset = null;\n this.hoverRafId = null;\n this.getSourceClientOffset = (sourceId)=>{\n const source = this.sourceNodes.get(sourceId);\n return source && getNodeClientOffset(source) || null;\n };\n this.endDragNativeItem = ()=>{\n if (!this.isDraggingNativeItem()) {\n return;\n }\n this.actions.endDrag();\n if (this.currentNativeHandle) {\n this.registry.removeSource(this.currentNativeHandle);\n }\n this.currentNativeHandle = null;\n this.currentNativeSource = null;\n };\n this.isNodeInDocument = (node)=>{\n // Check the node either in the main document or in the current context\n return Boolean(node && this.document && this.document.body && this.document.body.contains(node));\n };\n this.endDragIfSourceWasRemovedFromDOM = ()=>{\n const node = this.currentDragSourceNode;\n if (node == null || this.isNodeInDocument(node)) {\n return;\n }\n if (this.clearCurrentDragSourceNode() && this.monitor.isDragging()) {\n this.actions.endDrag();\n }\n this.cancelHover();\n };\n this.scheduleHover = (dragOverTargetIds)=>{\n if (this.hoverRafId === null && typeof requestAnimationFrame !== 'undefined') {\n this.hoverRafId = requestAnimationFrame(()=>{\n if (this.monitor.isDragging()) {\n this.actions.hover(dragOverTargetIds || [], {\n clientOffset: this.lastClientOffset\n });\n }\n this.hoverRafId = null;\n });\n }\n };\n this.cancelHover = ()=>{\n if (this.hoverRafId !== null && typeof cancelAnimationFrame !== 'undefined') {\n cancelAnimationFrame(this.hoverRafId);\n this.hoverRafId = null;\n }\n };\n this.handleTopDragStartCapture = ()=>{\n this.clearCurrentDragSourceNode();\n this.dragStartSourceIds = [];\n };\n this.handleTopDragStart = (e)=>{\n if (e.defaultPrevented) {\n return;\n }\n const { dragStartSourceIds } = this;\n this.dragStartSourceIds = null;\n const clientOffset = getEventClientOffset(e);\n // Avoid crashing if we missed a drop event or our previous drag died\n if (this.monitor.isDragging()) {\n this.actions.endDrag();\n this.cancelHover();\n }\n // Don't publish the source just yet (see why below)\n this.actions.beginDrag(dragStartSourceIds || [], {\n publishSource: false,\n getSourceClientOffset: this.getSourceClientOffset,\n clientOffset\n });\n const { dataTransfer } = e;\n const nativeType = matchNativeItemType(dataTransfer);\n if (this.monitor.isDragging()) {\n if (dataTransfer && typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n const sourceId = this.monitor.getSourceId();\n const sourceNode = this.sourceNodes.get(sourceId);\n const dragPreview = this.sourcePreviewNodes.get(sourceId) || sourceNode;\n if (dragPreview) {\n const { anchorX , anchorY , offsetX , offsetY } = this.getCurrentSourcePreviewNodeOptions();\n const anchorPoint = {\n anchorX,\n anchorY\n };\n const offsetPoint = {\n offsetX,\n offsetY\n };\n const dragPreviewOffset = getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n }\n try {\n // Firefox won't drag without setting data\n dataTransfer === null || dataTransfer === void 0 ? void 0 : dataTransfer.setData('application/json', {});\n } catch (err) {\n // IE doesn't support MIME types in setData\n }\n // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n this.setCurrentDragSourceNode(e.target);\n // Now we are ready to publish the drag source.. or are we not?\n const { captureDraggingState } = this.getCurrentSourcePreviewNodeOptions();\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(()=>this.actions.publishDragSource()\n , 0);\n } else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n this.actions.publishDragSource();\n }\n } else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n this.beginDragNativeItem(nativeType);\n } else if (dataTransfer && !dataTransfer.types && (e.target && !e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in\n // dragenter handler.\n return;\n } else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n };\n this.handleTopDragEndCapture = ()=>{\n if (this.clearCurrentDragSourceNode() && this.monitor.isDragging()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n this.actions.endDrag();\n }\n this.cancelHover();\n };\n this.handleTopDragEnterCapture = (e)=>{\n this.dragEnterTargetIds = [];\n if (this.isDraggingNativeItem()) {\n var ref;\n (ref = this.currentNativeSource) === null || ref === void 0 ? void 0 : ref.loadDataTransfer(e.dataTransfer);\n }\n const isFirstEnter = this.enterLeaveCounter.enter(e.target);\n if (!isFirstEnter || this.monitor.isDragging()) {\n return;\n }\n const { dataTransfer } = e;\n const nativeType = matchNativeItemType(dataTransfer);\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n this.beginDragNativeItem(nativeType, dataTransfer);\n }\n };\n this.handleTopDragEnter = (e)=>{\n const { dragEnterTargetIds } = this;\n this.dragEnterTargetIds = [];\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n this.altKeyPressed = e.altKey;\n // If the target changes position as the result of `dragenter`, `dragover` might still\n // get dispatched despite target being no longer there. The easy solution is to check\n // whether there actually is a target before firing `hover`.\n if (dragEnterTargetIds.length > 0) {\n this.actions.hover(dragEnterTargetIds, {\n clientOffset: getEventClientOffset(e)\n });\n }\n const canDrop = dragEnterTargetIds.some((targetId)=>this.monitor.canDropOnTarget(targetId)\n );\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n }\n };\n this.handleTopDragOverCapture = (e)=>{\n this.dragOverTargetIds = [];\n if (this.isDraggingNativeItem()) {\n var ref;\n (ref = this.currentNativeSource) === null || ref === void 0 ? void 0 : ref.loadDataTransfer(e.dataTransfer);\n }\n };\n this.handleTopDragOver = (e)=>{\n const { dragOverTargetIds } = this;\n this.dragOverTargetIds = [];\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = 'none';\n }\n return;\n }\n this.altKeyPressed = e.altKey;\n this.lastClientOffset = getEventClientOffset(e);\n this.scheduleHover(dragOverTargetIds);\n const canDrop = (dragOverTargetIds || []).some((targetId)=>this.monitor.canDropOnTarget(targetId)\n );\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n } else if (this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n } else {\n e.preventDefault();\n if (e.dataTransfer) {\n e.dataTransfer.dropEffect = 'none';\n }\n }\n };\n this.handleTopDragLeaveCapture = (e)=>{\n if (this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n const isLastLeave = this.enterLeaveCounter.leave(e.target);\n if (!isLastLeave) {\n return;\n }\n if (this.isDraggingNativeItem()) {\n setTimeout(()=>this.endDragNativeItem()\n , 0);\n }\n this.cancelHover();\n };\n this.handleTopDropCapture = (e)=>{\n this.dropTargetIds = [];\n if (this.isDraggingNativeItem()) {\n var ref;\n e.preventDefault();\n (ref = this.currentNativeSource) === null || ref === void 0 ? void 0 : ref.loadDataTransfer(e.dataTransfer);\n } else if (matchNativeItemType(e.dataTransfer)) {\n // Dragging some elements, like <a> and <img> may still behave like a native drag event,\n // even if the current drag event matches a user-defined type.\n // Stop the default behavior when we're not expecting a native item to be dropped.\n e.preventDefault();\n }\n this.enterLeaveCounter.reset();\n };\n this.handleTopDrop = (e)=>{\n const { dropTargetIds } = this;\n this.dropTargetIds = [];\n this.actions.hover(dropTargetIds, {\n clientOffset: getEventClientOffset(e)\n });\n this.actions.drop({\n dropEffect: this.getCurrentDropEffect()\n });\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n } else if (this.monitor.isDragging()) {\n this.actions.endDrag();\n }\n this.cancelHover();\n };\n this.handleSelectStart = (e)=>{\n const target = e.target;\n // Only IE requires us to explicitly say\n // we want drag drop operation to start\n if (typeof target.dragDrop !== 'function') {\n return;\n }\n // Inputs and textareas should be selectable\n if (target.tagName === 'INPUT' || target.tagName === 'SELECT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return;\n }\n // For other targets, ask IE\n // to enable drag and drop\n e.preventDefault();\n target.dragDrop();\n };\n this.options = new OptionsReader(globalContext, options);\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n this.enterLeaveCounter = new EnterLeaveCounter(this.isNodeInDocument);\n }\n}\n\n//# sourceMappingURL=HTML5BackendImpl.js.map","import { HTML5BackendImpl } from './HTML5BackendImpl.js';\nimport * as _NativeTypes from './NativeTypes.js';\nexport { getEmptyImage } from './getEmptyImage.js';\nexport { _NativeTypes as NativeTypes };\nexport const HTML5Backend = function createBackend(manager, context, options) {\n return new HTML5BackendImpl(manager, context, options);\n};\n\n//# sourceMappingURL=index.js.map","import {Cloudinary } from '@cloudinary/url-gen';\nimport React, { useState } from 'react'\nimport { CloudinaryFile } from '../types/cloudinary_custom_types';\n\n\ntype Props = {\n addMedia: (file: CloudinaryFile) => void;\n cld: Cloudinary\n}\nfunction useCloudinaryUpload({cld, addMedia}:Props) {\n\n const [statusText, setStatusText] = useState<string | null>(null)\n\n const uploadFile = async (file: File) => {\n const timestamp = Date.now().toString();\n // On passe par le backend pour ne pas exposer le secret (sert à signer)\n const signatureData = await fetch(\n `/api/sign_cloudinary_upload?timestamp=${timestamp}&return_delete_token=true`\n );\n const { signature } = await signatureData.json();\n // All parameters added to the method call should be included except: file, cloud_name, resource_type and your api_key.\n const url = `https://api.cloudinary.com/v1_1/${\n cld.getConfig().cloud?.cloudName\n }/upload`;\n // var xhr = new XMLHttpRequest();\n const fd = new FormData();\n fd.append(\"file\", file);\n fd.append(\"api_key\", \"883898914556696\");\n fd.append(\"timestamp\", timestamp);\n fd.append(\"return_delete_token\", \"true\");\n fd.append(\"signature\", signature);\n\n // on utilise XHR pour avoir accès au progrès de l'upload\n const xhr = new XMLHttpRequest();\n const wording = {\n progress: (e: any) =>\n setStatusText(\n `Téléchargement en cours... ${Math.round(\n (e.loaded * 100.0) / e.total\n )}%`\n ),\n loadstart: (e: any) => setStatusText(\"Début du téléchargement...\"),\n error: (e: any) => setStatusText(\"Echec du téléchargement.\"),\n };\n Object.entries(wording).forEach(\n ([key, func]: [string, (e: any) => void]) => {\n xhr.upload.addEventListener(key, func);\n }\n );\n\n xhr.onreadystatechange = function (e) {\n if (xhr.readyState == 4 && xhr.status == 200) {\n // File uploaded successfully\n setStatusText(null);\n var response = JSON.parse(xhr.responseText);\n const identifier = `${response.resource_type}/${response.type}/v${response.version}/${response.public_id}.${response.format}`;\n addMedia({ ...response, identifier });\n }\n };\n\n xhr.open(\"POST\", url, true);\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.send(fd);\n };\n\nreturn {uploadFile, statusText}\n}\n\nexport default useCloudinaryUpload","import { CloudinaryFile } from \"./cloudinary_custom_types\";\ndeclare global {\n\tinterface Window {\n\t\tTurbo?: any;\n\t}\n}\nexport type Company = {\n\tid?: number;\n\tfirst_name: string;\n\tlast_name: string;\n\tcompany: string;\n\twebsite: string;\n\temail: string;\n\tphone: string;\n\thashtag: string;\n\tdisplayed_name: string;\n\tgender: string;\n\tsendinblue_sender_name: string;\n\tsendinblue_sender_email: string;\n\tprimary_color: string | null;\n\tprofile_picture?: {\n\t\tid?: number;\n\t\tserialized_file: CloudinaryFile;\n\t\tcrop_width: number;\n\t\tcrop_height: number;\n\t\tcrop_x: number;\n\t\tcrop_y: number;\n\t} | null;\n};\n\nexport type PostGenerator = {\n\tstarting_at: string | null;\n\tchannels: Channel[];\n\tperiodicity: string;\n\tid?: number;\n\tchannel_ids: number[];\n\tcontent: Content;\n\tpublish_now: string;\n};\n\nexport type Post = {\n\t// starting_at: string | null;\n\t//periodicity: string;\n\tid?: number;\n\t//channel_ids: number[];\n\tcompany_content: CompanyContent;\n\t//publish_now: string;\n\tperiodicity: string;\n\tchannel_accounts?: ChannelAccount[];\n\tchannel_account_ids?: number[];\n\tscheduled_at: string | null;\n\tpost_on_channels?: PostOnChannel[];\n};\n\nexport type ProvisionalPost = {\n\tid?: number | null;\n\t[key: string]: any;\n\tcompany_content: {\n\t\tbody_provisional_id: number;\n\t};\n\tperiodicity: \"one_time\" | \"daily\" | \"weekly\" | \"monthly\";\n\tscheduled_at: string | null; // à modifier par une date\n\tinstant_publish: boolean;\n\tpost_on_channels_attributes:\n\t{\n\t\tid?: number;\n\t\tstatus: \"scheduled\" | \"published\" | \"errored\" | \"removed\" | \"externally_handled\" | \"waiting_for_acceptance\" | \"draft\" | null\n\t\tbody_provisional_id: number;\n\t\tforced_scheduled_at: string; // à modifier par une date\n\t\tchannel_account_id: number;\n\t\t_destroy?: 0 | 1;\n\t\tchannel_specific_data: Record<string, any> | null\n\t}[]\n}\nexport type ChannelIdentifier = \"facebook\" | \"linkedin\" | \"twitter\" | \"pinterest\" | \"google_my_business\" | \"tiktok\" | \"instagram\"\nexport type ProvisionalCompanyContent = {\n\tid?: number;\n\tbody_channel_groups_attributes: {\n\t\tid?: number;\n\t\tbody_provisional_id: number;\n\t\tchannels: ChannelIdentifier[];\n\t}[];\n};\nexport type ProvisionalContent = ProvisionalCompanyContent;\nexport type CompanyContent = {\n\tid?: number;\n\tbody: Body;\n};\n\nexport type ChannelConstraints = {\n\tcharacter_limit: number;\n\t//display_inline_links: boolean\n\t//embedded_link_count: number\n\tenforce_video: boolean;\n\tpicture_limit: number;\n\t// video_count: number\n};\n\nexport type ChannelAccount = {\n\tid?: number;\n\tchannel_id?: number;\n\tchannel: Channel;\n\tpicture_url?: string;\n\tdisplayed_name?: string;\n\tchannel_constraints?: ChannelConstraints;\n\tchannel_specific_data: Record<string, any> | null;\n};\n\nexport type Content = {\n\tfocus: string;\n\tteaser: string;\n\tdescription: string;\n\treconstructed_url: string;\n\ttitle: string;\n\tid?: number;\n\tcta: string | null;\n\ttag_ids: number[];\n\t// content_media: ContentMedium[];\n\tbody: Body;\n\texpires_at: string | null;\n};\n\nexport type Body = {\n\tid?: number;\n\tmessage: string;\n\tlink_url: string | null;\n\tlink_description: string | null;\n\tlink_cta: string | null;\n\tbody_media?: MediaHolder[];\n\tpost_type: \"post\" | \"post_and_story\" | \"story\";\n};\nexport interface ProvisionalBody extends Body {\n\tprovisional_id: number;\n\tbody_media_attributes: {\n\t\tposition: number;\n\t\tcontent_medium_provisional_id: number;\n\t\tid?: number;\n\t}[];\n}\nexport function isPersisted<Model extends object>(\n\tmodel: Model\n): model is Model & { id: number } {\n\treturn \"id\" in model;\n}\n\nexport function isChannelAccount(ca: ChannelAccount): ca is ChannelAccount {\n\treturn \"picture_url\" in ca;\n}\nexport type MediaHolder = {\n\tid?: number;\n\tdestroy?: boolean;\n\tcontent_medium: ContentMedium;\n\tposition?: number;\n};\n\nexport type ContentMedium = {\n\tid?: number;\n\t//position?: number;\n\tserialized_file: CloudinaryFile;\n\tdestroy?: boolean;\n\turl?: string;\n};\n\nexport type ProvisionalContentMedium = ContentMedium & {\n\tprovisional_id: number;\n};\n\nexport type Channel = {\n\tid: number;\n\tidentifier: ChannelIdentifier;\n\tname?: string;\n};\n\nexport type Tag = {\n\tid: string;\n\tlabel: string;\n};\n\nexport interface TagSubGroup extends Tag {\n\ttags: Tag[];\n}\n\nexport interface TagGroup extends Tag {\n\ttag_sub_groups: TagSubGroup[];\n}\n\nexport type PostOnChannel = {\n\tid: number;\n\tchannel_account_id: number;\n};\n\nexport type inputValues =\n\t| string\n\t| number\n\t| boolean\n\t| Object\n\t| Date\n\t| any[]\n\t| undefined\n\t| null;\n\nexport interface LibraryImage {\n\tfilename: string;\n\turl: string;\n\tformat: string;\n\tpublic_id: string;\n\tresource_type: string;\n\tstorage_type: string | null;\n}\n\nexport interface CanvaPage {\n\tid: string;\n\tpage_index: number;\n\tthumbnail: {\n\t\twidth: number;\n\t\theight: number;\n\t\turl: string;\n\t};\n}\n\nexport interface PixabayImage {\n\tid: number;\n\tlargeImageURL: string;\n\ttags: string;\n}\n\nexport interface PixabayVideo {\n\tid: number;\n\tvideos: {\n\t\ttiny: {\n\t\t\turl: string;\n\t\t};\n\t};\n\ttags: string;\n}\n\nexport type Entity = {\n\tname: string;\n\turi?: string;\n\tpicture_url?: string;\n};\n","import React, {\n Fragment,\n useEffect,\n useState,\n ChangeEvent,\n useCallback,\n useRef,\n ReactNode,\n} from \"react\";\nimport update from \"immutability-helper\";\nimport { AdvancedImage } from \"@cloudinary/react\";\nimport { Cloudinary } from \"@cloudinary/url-gen\";\nimport { DndProvider, useDrag, useDrop } from \"react-dnd\";\nimport type { Identifier, XYCoord } from \"dnd-core\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { scale, thumbnail } from \"@cloudinary/url-gen/actions/resize\";\nimport {\n CloudinaryFile,\n // PersistedCloudinaryFile,\n // NewCloudinaryFile,\n // isPersisted,\n} from \"../types/cloudinary_custom_types\";\nimport useCloudinaryUpload from \"./useCloudinaryUpload\";\nimport { ContentMedium, isPersisted, MediaHolder } from \"../types\";\nimport { FormattedMessage } from \"react-intl\";\n\nexport const ItemTypes = {\n MEDIA_CARD: \"media_card\",\n};\n\nexport default function ContentMediaUploader({\n media,\n setMedia,\n disabled,\n buttonText,\n innerInfos = \"PNG, JPG jusqu'à 10MB\",\n inputProps,\n error,\n}: {\n media: Array<MediaHolder>;\n setMedia: React.Dispatch<React.SetStateAction<Array<MediaHolder>>>;\n disabled?: boolean;\n inputProps?: { [key: string]: any };\n buttonText?: string | ReactNode;\n innerInfos?: string | ReactNode;\n error?: boolean | string;\n}) {\n const cld = new Cloudinary({\n cloud: {\n cloudName: \"dcmekntwa\",\n },\n });\n\n const removePersistedMedia = (file: ContentMedium & { id: number }) => {\n setMedia(\n media.map((medium) =>\n medium.content_medium.serialized_file.identifier ===\n file.serialized_file.identifier\n ? { ...medium, destroy: true }\n : medium\n )\n );\n };\n\n const removeMedia = async (id: string) => {\n const fileToRemove = media.find(\n (m) => m.content_medium.serialized_file.public_id == id\n )?.content_medium;\n\n if (fileToRemove) {\n if (isPersisted(fileToRemove)) {\n // le media est persisté, on laissera le back se charger de sa destruction\n removePersistedMedia(fileToRemove);\n } else if (fileToRemove.serialized_file.delete_token) {\n // Le media est nouveau, on le liquide immédiatement chez cloudinary et le fait disparaître\n const formData = new FormData();\n formData.append(\"token\", fileToRemove.serialized_file.delete_token);\n const res = await fetch(\n `https://api.cloudinary.com/v1_1/${\n cld.getConfig().cloud?.cloudName\n }/delete_by_token`,\n { method: \"post\", body: formData }\n );\n if (res.status == 200) {\n setMedia(\n media.filter(\n (m) =>\n m.content_medium.serialized_file.public_id !==\n fileToRemove.serialized_file.public_id\n )\n );\n }\n }\n }\n };\n\n const addMedia = (file: CloudinaryFile) => {\n // Pourquoi seul un media est retenu ???\n\n setMedia([...media, { content_medium: { serialized_file: file } }]);\n };\n\n const { uploadFile, statusText } = useCloudinaryUpload({ cld, addMedia });\n\n const handleFiles = (e: ChangeEvent<HTMLInputElement>) => {\n const { files } = e.target;\n if (files) {\n for (var i = 0; i < files.length; i++) {\n uploadFile(files[i]); // call the function to upload the file\n }\n }\n };\n\n const moveCard = useCallback((dragIndex: number, hoverIndex: number) => {\n setMedia((prevMedia: MediaHolder[]) =>\n update(prevMedia, {\n $splice: [\n [dragIndex, 1],\n [hoverIndex, 0, prevMedia[dragIndex] as MediaHolder],\n ],\n })\n );\n }, []);\n\n return (\n <div className=\"mt-1 sm:mt-0 sm:col-span-2 media-input-field\">\n <DndProvider backend={HTML5Backend}>\n <div\n className={`flex justify-center px-6 pt-5 pb-6 border-2 ${\n error ? \"border-red-300\" : \"border-gray-300\"\n } border-dashed rounded-md`}\n >\n <div className=\"space-y-1 text-center\">\n {!disabled && (\n <>\n <svg\n className=\"w-12 h-12 mx-auto text-gray-400\"\n stroke=\"currentColor\"\n fill=\"none\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <div className=\"flex justify-center text-sm text-gray-600\">\n <label className=\"clickable-text\">\n {buttonText ? (\n buttonText\n ) : (\n <FormattedMessage\n id=\"content_media_uploader.btn_text\"\n defaultMessage=\"Choisir un fichier ici\"\n />\n )}\n <input\n type=\"file\"\n {...inputProps}\n style={{ display: \"none\" }}\n onChange={handleFiles}\n multiple={true}\n />\n </label>\n </div>\n {statusText && (\n <p className=\"text-xs text-gray-500 status\">{statusText}</p>\n )}\n <p className=\"text-xs text-gray-500 \">{innerInfos}</p>\n </>\n )}\n\n <div className=\"flex flex-wrap justify-center space-x-2 preview\">\n {media\n .filter((medium) => !(isPersisted(medium) && medium?.destroy))\n .map((medium, i) => (\n <MediaThumbnail\n index={i}\n cld={cld}\n medium={medium.content_medium}\n handleRemove={removeMedia}\n //readonly={Boolean(disabled)}\n moveCard={moveCard}\n />\n ))}\n </div>\n </div>\n </div>\n </DndProvider>\n </div>\n );\n}\n\ninterface DragItem {\n index: number;\n id: string;\n type: string;\n}\n\ntype ThumbnailProps = {\n cld: Cloudinary;\n medium: ContentMedium;\n handleRemove: (id: string) => void;\n readonly?: boolean;\n index: number;\n moveCard: (dragIndex: number, hoverIndex: number) => void;\n};\nfunction MediaThumbnail({\n cld,\n medium,\n handleRemove,\n readonly,\n index,\n moveCard,\n}: ThumbnailProps): any {\n const { resource_type, public_id, format } = medium.serialized_file;\n const ref = useRef<HTMLDivElement>(null);\n\n const [{ isDragging }, drag] = useDrag(() => ({\n type: ItemTypes.MEDIA_CARD,\n collect: (monitor) => ({\n isDragging: !!monitor.isDragging(),\n }),\n canDrag: () => !readonly,\n }));\n\n const [{ handlerId }, drop] = useDrop<\n DragItem,\n void,\n { handlerId: Identifier | null }\n >({\n accept: ItemTypes.MEDIA_CARD,\n collect(monitor: any) {\n return {\n handlerId: monitor.getHandlerId(),\n };\n },\n hover(item: DragItem, monitor: any) {\n if (!ref.current) {\n return;\n }\n\n const dragIndex = item.index;\n const hoverIndex = index;\n\n // Don't replace items with themselves\n if (dragIndex === hoverIndex) {\n return;\n }\n\n // Time to actually perform the action\n if (item.index !== undefined) {\n moveCard(dragIndex, hoverIndex);\n }\n\n // Note: we're mutating the monitor item here!\n // Generally it's better to avoid mutations,\n // but it's good here for the sake of performance\n // to avoid expensive index searches.\n item.index = hoverIndex;\n },\n });\n\n drag(drop(ref));\n\n return (\n <div\n className={`relative rounded-sm shadow-md p-1 `}\n id={medium.serialized_file.public_id}\n ref={ref}\n data-handler-id={handlerId}\n >\n {!readonly && (\n <button\n type=\"button\"\n onClick={() => {\n handleRemove(medium.serialized_file.public_id);\n }}\n className=\"absolute w-3 h-3 text-brand_main transition ease-in-out bg-white rounded-full top-2 right-2 hover:text-white hover:bg-brand_darker hover:scale-125\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n )}\n <AdvancedImage\n className=\"object-cover w-24 h-24 m-1/2\"\n cldImg={cld\n .image(public_id)\n .setAssetType(resource_type)\n .format(resource_type === \"video\" ? \"jpg\" : format)\n .resize(thumbnail().width(320))}\n />\n </div>\n );\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { createRoot, Root } from \"react-dom/client\";\nimport { formatMediaHolders } from \"../components/utils/various\";\nimport React, { useEffect, useState } from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport { formatMedia } from \"../components/utils/various\";\nimport fr from \"../../../config/locales/js-lang/fr.json\";\nimport ContentMediaUploader from \"../components/ContentMediaUploader\";\n\n\n// Ce controller sert à utiliser l'uploader react hors des formulaires React\n// TODO: à un moment il faudra refacto\n\nexport default class extends Controller {\n\n get props() { \n return JSON.parse(this.data.get(\"props\"))\n }\n\n disconnect() {\n this.root?.unmount();\n }\n\n connect() {\n\n this.root = createRoot(this.element);\n this.logo = JSON.parse(this.data.get(\"logo\"));\n this.root.render(\n <CloudinaryStimulusWrapper baseMedia={this.props.media} fieldName={this.props.field_name} logo={this.logo} />\n );\n }\n}\n\nconst CloudinaryStimulusWrapper = ({ baseMedia, fieldName, logo }) => {\n const [media, setMedia] = useState(() => {\n const initialMedia = baseMedia ? [...baseMedia] : [];\n if (logo) {\n initialMedia.push({\n content_medium: {\n serialized_file: logo,\n },\n });\n }\n return initialMedia;\n }); \n const formattedMedia = formatMediaHolders(media); \n \n useEffect(() => {\n // When media changes, update the hidden fields\n const hiddenFieldsDiv = document.getElementById(`hidden-fields-${fieldName}`);\n if (hiddenFieldsDiv) {\n hiddenFieldsDiv.innerHTML = ''; \n \n media.forEach((med: any, i: number) => {\n const secureUrl = med.content_medium?.serialized_file?.secure_url;\n if (secureUrl) {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = `${fieldName}`;\n input.value = secureUrl;\n hiddenFieldsDiv.appendChild(input);\n }\n });\n }\n }, [media, fieldName]); \n\n return (\n <div>\n <div id={`hidden-fields-${fieldName}`}></div>\n <IntlProvider locale=\"fr\" messages={fr}>\n <ContentMediaUploader media={media} setMedia={setMedia} />\n </IntlProvider>\n </div>\n );\n};\n","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n const isFileListInstance = typeof FileList !== 'undefined' ? data instanceof FileList : false;\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || isFileListInstance)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return React.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n exact: true,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n const fieldState = React.useMemo(() => Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }), [formState, name]);\n const field = React.useMemo(() => ({\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: (event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }),\n onBlur: () => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }),\n ref: (elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n }), [\n name,\n control._formValues,\n disabled,\n formState.disabled,\n value,\n control._fields,\n ]);\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n !isArrayField && control.register(name);\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n });\n }, [disabled, name, control]);\n return React.useMemo(() => ({\n field,\n formState,\n fieldState,\n }), [field, formState, fieldState]);\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst flatten = (obj) => {\n const output = {};\n for (const key of Object.keys(obj)) {\n if (isObjectType(obj[key]) && obj[key] !== null) {\n const nested = flatten(obj[key]);\n for (const nestedKey of Object.keys(nested)) {\n output[`${key}.${nestedKey}`] = nested[nestedKey];\n }\n }\n else {\n output[key] = obj[key];\n }\n }\n return output;\n};\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n const flattenFormValues = flatten(control._formValues);\n for (const key in flattenFormValues) {\n formData.append(key, flattenFormValues[key]);\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(String(action), {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n return true;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n return true;\n }\n else {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n }\n else if (isObject(currentField)) {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n }\n }\n return;\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, disabledFieldNames, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabledFieldNames.has(name)) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n rules &&\n control.register(name, rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n !Array.isArray(get(control._fields, name)) &&\n set(control._fields, name, undefined);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._names.disabled, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nconst ASYNC_FUNCTION = 'AsyncFunction';\nvar hasPromiseValidation = (fieldReference) => !!fieldReference &&\n !!fieldReference.validate &&\n !!((isFunction(fieldReference.validate) &&\n fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||\n (isObject(fieldReference.validate) &&\n Object.values(fieldReference.validate).find((validateFunction) => validateFunction.constructor.name === ASYNC_FUNCTION)));\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n disabled: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (!_options.disabled && (_proxyFormState.isValid || shouldUpdateValid)) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (!_options.disabled &&\n (_proxyFormState.isValidating || _proxyFormState.validatingFields)) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method && !_options.disabled) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n if (!_options.disabled) {\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n }\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (_options.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(_options.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const isPromiseFunction = field._f && hasPromiseValidation(field._f);\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([name], true);\n }\n const fieldError = await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([name]);\n }\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => !_options.disabled &&\n (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, _options.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n isObject(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||\n deepEqual(fieldValue, get(_formValues, name, fieldValue));\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n if (_proxyFormState.isValid) {\n if (_options.mode === 'onBlur' && isBlurEvent) {\n _updateValid();\n }\n else if (!isBlurEvent) {\n _updateValid();\n }\n }\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _names.disabled, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, }) => {\n if ((isBoolean(disabled) && _state.mount) ||\n !!disabled ||\n _names.disabled.has(name)) {\n disabled ? _names.disabled.add(name) : _names.disabled.delete(name);\n updateTouchAndDirty(name, getFieldValue(field ? field._f : get(fields, name)._f), false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled) || isBoolean(_options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: isBoolean(options.disabled)\n ? options.disabled\n : _options.disabled,\n name,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined\n ? { disabled: options.disabled || _options.disabled }\n : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n if (_names.disabled.size) {\n for (const name of _names.disabled) {\n set(fieldValues, name, undefined);\n }\n }\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n const fieldsToCheck = new Set([\n ..._names.mount,\n ...Object.keys(getDirtyFields(_defaultValues, _formValues)),\n ]);\n for (const fieldName of Array.from(fieldsToCheck)) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = _options.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n disabled: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!_options.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect &&\n isFunction(fieldRef.select) &&\n fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef(undefined);\n const _values = React.useRef(undefined);\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","export const defaultJsonSerializer = JSON;\n//# sourceMappingURL=defaultJsonSerializer.js.map","export const uppercase = (str) => str.toUpperCase();\n/**\n * Convert Headers instance into regular object\n */\nexport const HeadersInstanceToPlainObject = (headers) => {\n const o = {};\n headers.forEach((v, k) => {\n o[k] = v;\n });\n return o;\n};\n//# sourceMappingURL=helpers.js.map","export const parseRequestArgs = (documentOrOptions, variables, requestHeaders) => {\n return documentOrOptions.document\n ? documentOrOptions\n : {\n document: documentOrOptions,\n variables: variables,\n requestHeaders: requestHeaders,\n signal: undefined,\n };\n};\nexport const parseRawRequestArgs = (queryOrOptions, variables, requestHeaders) => {\n return queryOrOptions.query\n ? queryOrOptions\n : {\n query: queryOrOptions,\n variables: variables,\n requestHeaders: requestHeaders,\n signal: undefined,\n };\n};\nexport const parseBatchRequestArgs = (documentsOrOptions, requestHeaders) => {\n return documentsOrOptions.documents\n ? documentsOrOptions\n : {\n documents: documentsOrOptions,\n requestHeaders: requestHeaders,\n signal: undefined,\n };\n};\nexport const parseRequestExtendedArgs = (urlOrOptions, document, ...variablesAndRequestHeaders) => {\n const [variables, requestHeaders] = variablesAndRequestHeaders;\n return urlOrOptions.document\n ? urlOrOptions\n : {\n url: urlOrOptions,\n document: document,\n variables,\n requestHeaders,\n signal: undefined,\n };\n};\nexport const parseRawRequestExtendedArgs = (urlOrOptions, query, ...variablesAndRequestHeaders) => {\n const [variables, requestHeaders] = variablesAndRequestHeaders;\n return urlOrOptions.query\n ? urlOrOptions\n : {\n url: urlOrOptions,\n query: query,\n variables,\n requestHeaders,\n signal: undefined,\n };\n};\n//# sourceMappingURL=parseArgs.js.map","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport function isObjectLike(value) {\n return typeof value == 'object' && value !== null;\n}\n","export function invariant(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(\n message != null ? message : 'Unexpected invariant triggered.',\n );\n }\n}\n","import { invariant } from '../jsutils/invariant.mjs';\nconst LineRegExp = /\\r\\n|[\\n\\r]/g;\n/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n let lastLineStart = 0;\n let line = 1;\n\n for (const match of source.body.matchAll(LineRegExp)) {\n typeof match.index === 'number' || invariant(false);\n\n if (match.index >= position) {\n break;\n }\n\n lastLineStart = match.index + match[0].length;\n line += 1;\n }\n\n return {\n line,\n column: position + 1 - lastLineStart,\n };\n}\n","import { getLocation } from './location.mjs';\n\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\nexport function printLocation(location) {\n return printSourceLocation(\n location.source,\n getLocation(location.source, location.start),\n );\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n const firstLineColumnOffset = source.locationOffset.column - 1;\n const body = ''.padStart(firstLineColumnOffset) + source.body;\n const lineIndex = sourceLocation.line - 1;\n const lineOffset = source.locationOffset.line - 1;\n const lineNum = sourceLocation.line + lineOffset;\n const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n const columnNum = sourceLocation.column + columnOffset;\n const locationStr = `${source.name}:${lineNum}:${columnNum}\\n`;\n const lines = body.split(/\\r\\n|[\\n\\r]/g);\n const locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n const subLineIndex = Math.floor(columnNum / 80);\n const subLineColumnNum = columnNum % 80;\n const subLines = [];\n\n for (let i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return (\n locationStr +\n printPrefixedLines([\n [`${lineNum} |`, subLines[0]],\n ...subLines.slice(1, subLineIndex + 1).map((subLine) => ['|', subLine]),\n ['|', '^'.padStart(subLineColumnNum)],\n ['|', subLines[subLineIndex + 1]],\n ])\n );\n }\n\n return (\n locationStr +\n printPrefixedLines([\n // Lines specified like this: [\"prefix\", \"string\"],\n [`${lineNum - 1} |`, lines[lineIndex - 1]],\n [`${lineNum} |`, locationLine],\n ['|', '^'.padStart(columnNum)],\n [`${lineNum + 1} |`, lines[lineIndex + 1]],\n ])\n );\n}\n\nfunction printPrefixedLines(lines) {\n const existingLines = lines.filter(([_, line]) => line !== undefined);\n const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));\n return existingLines\n .map(([prefix, line]) => prefix.padStart(padLen) + (line ? ' ' + line : ''))\n .join('\\n');\n}\n","import { isObjectLike } from '../jsutils/isObjectLike.mjs';\nimport { getLocation } from '../language/location.mjs';\nimport {\n printLocation,\n printSourceLocation,\n} from '../language/printLocation.mjs';\n\nfunction toNormalizedOptions(args) {\n const firstArg = args[0];\n\n if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {\n return {\n nodes: firstArg,\n source: args[1],\n positions: args[2],\n path: args[3],\n originalError: args[4],\n extensions: args[5],\n };\n }\n\n return firstArg;\n}\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport class GraphQLError extends Error {\n /**\n * An array of `{ line, column }` locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n\n /**\n * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n */\n constructor(message, ...rawArgs) {\n var _this$nodes, _nodeLocations$, _ref;\n\n const { nodes, source, positions, path, originalError, extensions } =\n toNormalizedOptions(rawArgs);\n super(message);\n this.name = 'GraphQLError';\n this.path = path !== null && path !== void 0 ? path : undefined;\n this.originalError =\n originalError !== null && originalError !== void 0\n ? originalError\n : undefined; // Compute list of blame nodes.\n\n this.nodes = undefinedIfEmpty(\n Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,\n );\n const nodeLocations = undefinedIfEmpty(\n (_this$nodes = this.nodes) === null || _this$nodes === void 0\n ? void 0\n : _this$nodes.map((node) => node.loc).filter((loc) => loc != null),\n ); // Compute locations in the source for the given nodes/positions.\n\n this.source =\n source !== null && source !== void 0\n ? source\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : (_nodeLocations$ = nodeLocations[0]) === null ||\n _nodeLocations$ === void 0\n ? void 0\n : _nodeLocations$.source;\n this.positions =\n positions !== null && positions !== void 0\n ? positions\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => loc.start);\n this.locations =\n positions && source\n ? positions.map((pos) => getLocation(source, pos))\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => getLocation(loc.source, loc.start));\n const originalExtensions = isObjectLike(\n originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions,\n )\n ? originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions\n : undefined;\n this.extensions =\n (_ref =\n extensions !== null && extensions !== void 0\n ? extensions\n : originalExtensions) !== null && _ref !== void 0\n ? _ref\n : Object.create(null); // Only properties prescribed by the spec should be enumerable.\n // Keep the rest as non-enumerable.\n\n Object.defineProperties(this, {\n message: {\n writable: true,\n enumerable: true,\n },\n name: {\n enumerable: false,\n },\n nodes: {\n enumerable: false,\n },\n source: {\n enumerable: false,\n },\n positions: {\n enumerable: false,\n },\n originalError: {\n enumerable: false,\n },\n }); // Include (non-enumerable) stack trace.\n\n /* c8 ignore start */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n\n if (\n originalError !== null &&\n originalError !== void 0 &&\n originalError.stack\n ) {\n Object.defineProperty(this, 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true,\n });\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, GraphQLError);\n } else {\n Object.defineProperty(this, 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true,\n });\n }\n /* c8 ignore stop */\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n\n toString() {\n let output = this.message;\n\n if (this.nodes) {\n for (const node of this.nodes) {\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (this.source && this.locations) {\n for (const location of this.locations) {\n output += '\\n\\n' + printSourceLocation(this.source, location);\n }\n }\n\n return output;\n }\n\n toJSON() {\n const formattedError = {\n message: this.message,\n };\n\n if (this.locations != null) {\n formattedError.locations = this.locations;\n }\n\n if (this.path != null) {\n formattedError.path = this.path;\n }\n\n if (this.extensions != null && Object.keys(this.extensions).length > 0) {\n formattedError.extensions = this.extensions;\n }\n\n return formattedError;\n }\n}\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * See: https://spec.graphql.org/draft/#sec-Errors\n */\n\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */\nexport function printError(error) {\n return error.toString();\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */\n\nexport function formatError(error) {\n return error.toJSON();\n}\n","import { GraphQLError } from './GraphQLError.mjs';\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(`Syntax Error: ${description}`, {\n source,\n positions: [position],\n });\n}\n","/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport class Location {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n constructor(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n get [Symbol.toStringTag]() {\n return 'Location';\n }\n\n toJSON() {\n return {\n start: this.start,\n end: this.end,\n };\n }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n *\n * Note: is undefined for punctuation tokens, but typed as string for\n * convenience in the parser.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. <SOF> is always the first node and <EOF>\n * the last.\n */\n constructor(kind, start, end, line, column, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n this.value = value;\n this.prev = null;\n this.next = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'Token';\n }\n\n toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column,\n };\n }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: [\n 'name',\n 'variableDefinitions',\n 'directives',\n 'selectionSet',\n ],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: [\n 'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n 'variableDefinitions',\n 'typeCondition',\n 'directives',\n 'selectionSet',\n ],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: [\n 'description',\n 'name',\n 'type',\n 'defaultValue',\n 'directives',\n ],\n InterfaceTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n const maybeKind =\n maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n OperationTypeNode['QUERY'] = 'query';\n OperationTypeNode['MUTATION'] = 'mutation';\n OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed directive location values.\n */\nvar DirectiveLocation;\n\n(function (DirectiveLocation) {\n DirectiveLocation['QUERY'] = 'QUERY';\n DirectiveLocation['MUTATION'] = 'MUTATION';\n DirectiveLocation['SUBSCRIPTION'] = 'SUBSCRIPTION';\n DirectiveLocation['FIELD'] = 'FIELD';\n DirectiveLocation['FRAGMENT_DEFINITION'] = 'FRAGMENT_DEFINITION';\n DirectiveLocation['FRAGMENT_SPREAD'] = 'FRAGMENT_SPREAD';\n DirectiveLocation['INLINE_FRAGMENT'] = 'INLINE_FRAGMENT';\n DirectiveLocation['VARIABLE_DEFINITION'] = 'VARIABLE_DEFINITION';\n DirectiveLocation['SCHEMA'] = 'SCHEMA';\n DirectiveLocation['SCALAR'] = 'SCALAR';\n DirectiveLocation['OBJECT'] = 'OBJECT';\n DirectiveLocation['FIELD_DEFINITION'] = 'FIELD_DEFINITION';\n DirectiveLocation['ARGUMENT_DEFINITION'] = 'ARGUMENT_DEFINITION';\n DirectiveLocation['INTERFACE'] = 'INTERFACE';\n DirectiveLocation['UNION'] = 'UNION';\n DirectiveLocation['ENUM'] = 'ENUM';\n DirectiveLocation['ENUM_VALUE'] = 'ENUM_VALUE';\n DirectiveLocation['INPUT_OBJECT'] = 'INPUT_OBJECT';\n DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION';\n})(DirectiveLocation || (DirectiveLocation = {}));\n\nexport { DirectiveLocation };\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n Kind['NAME'] = 'Name';\n Kind['DOCUMENT'] = 'Document';\n Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n Kind['SELECTION_SET'] = 'SelectionSet';\n Kind['FIELD'] = 'Field';\n Kind['ARGUMENT'] = 'Argument';\n Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n Kind['VARIABLE'] = 'Variable';\n Kind['INT'] = 'IntValue';\n Kind['FLOAT'] = 'FloatValue';\n Kind['STRING'] = 'StringValue';\n Kind['BOOLEAN'] = 'BooleanValue';\n Kind['NULL'] = 'NullValue';\n Kind['ENUM'] = 'EnumValue';\n Kind['LIST'] = 'ListValue';\n Kind['OBJECT'] = 'ObjectValue';\n Kind['OBJECT_FIELD'] = 'ObjectField';\n Kind['DIRECTIVE'] = 'Directive';\n Kind['NAMED_TYPE'] = 'NamedType';\n Kind['LIST_TYPE'] = 'ListType';\n Kind['NON_NULL_TYPE'] = 'NonNullType';\n Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","/**\n * ```\n * WhiteSpace ::\n * - \"Horizontal Tab (U+0009)\"\n * - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\n * - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M`\n * - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z`\n * - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m`\n * - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z`\n * ```\n * @internal\n */\n\nexport function isLetter(code) {\n return (\n (code >= 0x0061 && code <= 0x007a) || // A-Z\n (code >= 0x0041 && code <= 0x005a) // a-z\n );\n}\n/**\n * ```\n * NameStart ::\n * - Letter\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n * - Letter\n * - Digit\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nexport function dedentBlockStringLines(lines) {\n var _firstNonEmptyLine2;\n\n let commonIndent = Number.MAX_SAFE_INTEGER;\n let firstNonEmptyLine = null;\n let lastNonEmptyLine = -1;\n\n for (let i = 0; i < lines.length; ++i) {\n var _firstNonEmptyLine;\n\n const line = lines[i];\n const indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n firstNonEmptyLine =\n (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine !== void 0\n ? _firstNonEmptyLine\n : i;\n lastNonEmptyLine = i;\n\n if (i !== 0 && indent < commonIndent) {\n commonIndent = indent;\n }\n }\n\n return lines // Remove common indentation from all lines but first.\n .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n .slice(\n (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine2 !== void 0\n ? _firstNonEmptyLine2\n : 0,\n lastNonEmptyLine + 1,\n );\n}\n\nfunction leadingWhitespace(str) {\n let i = 0;\n\n while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n ++i;\n }\n\n return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n if (value === '') {\n return true; // empty string is printable\n }\n\n let isEmptyLine = true;\n let hasIndent = false;\n let hasCommonIndent = true;\n let seenNonEmptyLine = false;\n\n for (let i = 0; i < value.length; ++i) {\n switch (value.codePointAt(i)) {\n case 0x0000:\n case 0x0001:\n case 0x0002:\n case 0x0003:\n case 0x0004:\n case 0x0005:\n case 0x0006:\n case 0x0007:\n case 0x0008:\n case 0x000b:\n case 0x000c:\n case 0x000e:\n case 0x000f:\n return false;\n // Has non-printable characters\n\n case 0x000d:\n // \\r\n return false;\n // Has \\r or \\r\\n which will be replaced as \\n\n\n case 10:\n // \\n\n if (isEmptyLine && !seenNonEmptyLine) {\n return false; // Has leading new line\n }\n\n seenNonEmptyLine = true;\n isEmptyLine = true;\n hasIndent = false;\n break;\n\n case 9: // \\t\n\n case 32:\n // <space>\n hasIndent || (hasIndent = isEmptyLine);\n break;\n\n default:\n hasCommonIndent && (hasCommonIndent = hasIndent);\n isEmptyLine = false;\n }\n }\n\n if (isEmptyLine) {\n return false; // Has trailing empty lines\n }\n\n if (hasCommonIndent && seenNonEmptyLine) {\n return false; // Has internal indent\n }\n\n return true;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value, options) {\n const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n const forceLeadingNewLine =\n lines.length > 1 &&\n lines\n .slice(1)\n .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n const hasTrailingSlash = value.endsWith('\\\\');\n const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n const printAsMultipleLines =\n !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n (!isSingleLine ||\n value.length > 70 ||\n forceTrailingNewline ||\n forceLeadingNewLine ||\n hasTrailingTripleQuotes);\n let result = ''; // Format a multi-line block quote to account for leading space.\n\n const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n result += '\\n';\n }\n\n result += escapedValue;\n\n if (printAsMultipleLines || forceTrailingNewline) {\n result += '\\n';\n }\n\n return '\"\"\"' + result + '\"\"\"';\n}\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nvar TokenKind;\n\n(function (TokenKind) {\n TokenKind['SOF'] = '<SOF>';\n TokenKind['EOF'] = '<EOF>';\n TokenKind['BANG'] = '!';\n TokenKind['DOLLAR'] = '$';\n TokenKind['AMP'] = '&';\n TokenKind['PAREN_L'] = '(';\n TokenKind['PAREN_R'] = ')';\n TokenKind['SPREAD'] = '...';\n TokenKind['COLON'] = ':';\n TokenKind['EQUALS'] = '=';\n TokenKind['AT'] = '@';\n TokenKind['BRACKET_L'] = '[';\n TokenKind['BRACKET_R'] = ']';\n TokenKind['BRACE_L'] = '{';\n TokenKind['PIPE'] = '|';\n TokenKind['BRACE_R'] = '}';\n TokenKind['NAME'] = 'Name';\n TokenKind['INT'] = 'Int';\n TokenKind['FLOAT'] = 'Float';\n TokenKind['STRING'] = 'String';\n TokenKind['BLOCK_STRING'] = 'BlockString';\n TokenKind['COMMENT'] = 'Comment';\n})(TokenKind || (TokenKind = {}));\n\nexport { TokenKind };\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Token } from './ast.mjs';\nimport { dedentBlockStringLines } from './blockString.mjs';\nimport { isDigit, isNameContinue, isNameStart } from './characterClasses.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport class Lexer {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n constructor(source) {\n const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n\n get [Symbol.toStringTag]() {\n return 'Lexer';\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n advance() {\n this.lastToken = this.token;\n const token = (this.token = this.lookahead());\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n\n lookahead() {\n let token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n if (token.next) {\n token = token.next;\n } else {\n // Read the next token and form a link in the token linked-list.\n const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.\n\n token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.\n\n nextToken.prev = token;\n token = nextToken;\n }\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n }\n}\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return (\n kind === TokenKind.BANG ||\n kind === TokenKind.DOLLAR ||\n kind === TokenKind.AMP ||\n kind === TokenKind.PAREN_L ||\n kind === TokenKind.PAREN_R ||\n kind === TokenKind.SPREAD ||\n kind === TokenKind.COLON ||\n kind === TokenKind.EQUALS ||\n kind === TokenKind.AT ||\n kind === TokenKind.BRACKET_L ||\n kind === TokenKind.BRACKET_R ||\n kind === TokenKind.BRACE_L ||\n kind === TokenKind.PIPE ||\n kind === TokenKind.BRACE_R\n );\n}\n/**\n * A Unicode scalar value is any Unicode code point except surrogate code\n * points. In other words, the inclusive ranges of values 0x0000 to 0xD7FF and\n * 0xE000 to 0x10FFFF.\n *\n * SourceCharacter ::\n * - \"Any Unicode scalar value\"\n */\n\nfunction isUnicodeScalarValue(code) {\n return (\n (code >= 0x0000 && code <= 0xd7ff) || (code >= 0xe000 && code <= 0x10ffff)\n );\n}\n/**\n * The GraphQL specification defines source text as a sequence of unicode scalar\n * values (which Unicode defines to exclude surrogate code points). However\n * JavaScript defines strings as a sequence of UTF-16 code units which may\n * include surrogates. A surrogate pair is a valid source character as it\n * encodes a supplementary code point (above U+FFFF), but unpaired surrogate\n * code points are not valid source characters.\n */\n\nfunction isSupplementaryCodePoint(body, location) {\n return (\n isLeadingSurrogate(body.charCodeAt(location)) &&\n isTrailingSurrogate(body.charCodeAt(location + 1))\n );\n}\n\nfunction isLeadingSurrogate(code) {\n return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction isTrailingSurrogate(code) {\n return code >= 0xdc00 && code <= 0xdfff;\n}\n/**\n * Prints the code point (or end of file reference) at a given location in a\n * source for use in error messages.\n *\n * Printable ASCII is printed quoted, while other points are printed in Unicode\n * code point form (ie. U+1234).\n */\n\nfunction printCodePointAt(lexer, location) {\n const code = lexer.source.body.codePointAt(location);\n\n if (code === undefined) {\n return TokenKind.EOF;\n } else if (code >= 0x0020 && code <= 0x007e) {\n // Printable ASCII\n const char = String.fromCodePoint(code);\n return char === '\"' ? \"'\\\"'\" : `\"${char}\"`;\n } // Unicode code point\n\n return 'U+' + code.toString(16).toUpperCase().padStart(4, '0');\n}\n/**\n * Create a token with line and column location information.\n */\n\nfunction createToken(lexer, kind, start, end, value) {\n const line = lexer.line;\n const col = 1 + start - lexer.lineStart;\n return new Token(kind, start, end, line, col, value);\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\nfunction readNextToken(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // SourceCharacter\n\n switch (code) {\n // Ignored ::\n // - UnicodeBOM\n // - WhiteSpace\n // - LineTerminator\n // - Comment\n // - Comma\n //\n // UnicodeBOM :: \"Byte Order Mark (U+FEFF)\"\n //\n // WhiteSpace ::\n // - \"Horizontal Tab (U+0009)\"\n // - \"Space (U+0020)\"\n //\n // Comma :: ,\n case 0xfeff: // <BOM>\n\n case 0x0009: // \\t\n\n case 0x0020: // <space>\n\n case 0x002c:\n // ,\n ++position;\n continue;\n // LineTerminator ::\n // - \"New Line (U+000A)\"\n // - \"Carriage Return (U+000D)\" [lookahead != \"New Line (U+000A)\"]\n // - \"Carriage Return (U+000D)\" \"New Line (U+000A)\"\n\n case 0x000a:\n // \\n\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n\n case 0x000d:\n // \\r\n if (body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n // Comment\n\n case 0x0023:\n // #\n return readComment(lexer, position);\n // Token ::\n // - Punctuator\n // - Name\n // - IntValue\n // - FloatValue\n // - StringValue\n //\n // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }\n\n case 0x0021:\n // !\n return createToken(lexer, TokenKind.BANG, position, position + 1);\n\n case 0x0024:\n // $\n return createToken(lexer, TokenKind.DOLLAR, position, position + 1);\n\n case 0x0026:\n // &\n return createToken(lexer, TokenKind.AMP, position, position + 1);\n\n case 0x0028:\n // (\n return createToken(lexer, TokenKind.PAREN_L, position, position + 1);\n\n case 0x0029:\n // )\n return createToken(lexer, TokenKind.PAREN_R, position, position + 1);\n\n case 0x002e:\n // .\n if (\n body.charCodeAt(position + 1) === 0x002e &&\n body.charCodeAt(position + 2) === 0x002e\n ) {\n return createToken(lexer, TokenKind.SPREAD, position, position + 3);\n }\n\n break;\n\n case 0x003a:\n // :\n return createToken(lexer, TokenKind.COLON, position, position + 1);\n\n case 0x003d:\n // =\n return createToken(lexer, TokenKind.EQUALS, position, position + 1);\n\n case 0x0040:\n // @\n return createToken(lexer, TokenKind.AT, position, position + 1);\n\n case 0x005b:\n // [\n return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);\n\n case 0x005d:\n // ]\n return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);\n\n case 0x007b:\n // {\n return createToken(lexer, TokenKind.BRACE_L, position, position + 1);\n\n case 0x007c:\n // |\n return createToken(lexer, TokenKind.PIPE, position, position + 1);\n\n case 0x007d:\n // }\n return createToken(lexer, TokenKind.BRACE_R, position, position + 1);\n // StringValue\n\n case 0x0022:\n // \"\n if (\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n return readBlockString(lexer, position);\n }\n\n return readString(lexer, position);\n } // IntValue | FloatValue (Digit | -)\n\n if (isDigit(code) || code === 0x002d) {\n return readNumber(lexer, position, code);\n } // Name\n\n if (isNameStart(code)) {\n return readName(lexer, position);\n }\n\n throw syntaxError(\n lexer.source,\n position,\n code === 0x0027\n ? 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?'\n : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position)\n ? `Unexpected character: ${printCodePointAt(lexer, position)}.`\n : `Invalid character: ${printCodePointAt(lexer, position)}.`,\n );\n }\n\n return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);\n}\n/**\n * Reads a comment token from the source file.\n *\n * ```\n * Comment :: # CommentChar* [lookahead != CommentChar]\n *\n * CommentChar :: SourceCharacter but not LineTerminator\n * ```\n */\n\nfunction readComment(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.COMMENT,\n start,\n position,\n body.slice(start + 1, position),\n );\n}\n/**\n * Reads a number token from the source file, either a FloatValue or an IntValue\n * depending on whether a FractionalPart or ExponentPart is encountered.\n *\n * ```\n * IntValue :: IntegerPart [lookahead != {Digit, `.`, NameStart}]\n *\n * IntegerPart ::\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit Digit*\n *\n * NegativeSign :: -\n *\n * NonZeroDigit :: Digit but not `0`\n *\n * FloatValue ::\n * - IntegerPart FractionalPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart FractionalPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *\n * FractionalPart :: . Digit+\n *\n * ExponentPart :: ExponentIndicator Sign? Digit+\n *\n * ExponentIndicator :: one of `e` `E`\n *\n * Sign :: one of + -\n * ```\n */\n\nfunction readNumber(lexer, start, firstCode) {\n const body = lexer.source.body;\n let position = start;\n let code = firstCode;\n let isFloat = false; // NegativeSign (-)\n\n if (code === 0x002d) {\n code = body.charCodeAt(++position);\n } // Zero (0)\n\n if (code === 0x0030) {\n code = body.charCodeAt(++position);\n\n if (isDigit(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, unexpected digit after 0: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n } else {\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Full stop (.)\n\n if (code === 0x002e) {\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // E e\n\n if (code === 0x0045 || code === 0x0065) {\n isFloat = true;\n code = body.charCodeAt(++position); // + -\n\n if (code === 0x002b || code === 0x002d) {\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n if (code === 0x002e || isNameStart(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n\n return createToken(\n lexer,\n isFloat ? TokenKind.FLOAT : TokenKind.INT,\n start,\n position,\n body.slice(start, position),\n );\n}\n/**\n * Returns the new position in the source after reading one or more digits.\n */\n\nfunction readDigits(lexer, start, firstCode) {\n if (!isDigit(firstCode)) {\n throw syntaxError(\n lexer.source,\n start,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n start,\n )}.`,\n );\n }\n\n const body = lexer.source.body;\n let position = start + 1; // +1 to skip first firstCode\n\n while (isDigit(body.charCodeAt(position))) {\n ++position;\n }\n\n return position;\n}\n/**\n * Reads a single-quote string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"` [lookahead != `\"`]\n * - `\"` StringCharacter+ `\"`\n *\n * StringCharacter ::\n * - SourceCharacter but not `\"` or `\\` or LineTerminator\n * - `\\u` EscapedUnicode\n * - `\\` EscapedCharacter\n *\n * EscapedUnicode ::\n * - `{` HexDigit+ `}`\n * - HexDigit HexDigit HexDigit HexDigit\n *\n * EscapedCharacter :: one of `\"` `\\` `/` `b` `f` `n` `r` `t`\n * ```\n */\n\nfunction readString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n let chunkStart = position;\n let value = '';\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Quote (\")\n\n if (code === 0x0022) {\n value += body.slice(chunkStart, position);\n return createToken(lexer, TokenKind.STRING, start, position + 1, value);\n } // Escape Sequence (\\)\n\n if (code === 0x005c) {\n value += body.slice(chunkStart, position);\n const escape =\n body.charCodeAt(position + 1) === 0x0075 // u\n ? body.charCodeAt(position + 2) === 0x007b // {\n ? readEscapedUnicodeVariableWidth(lexer, position)\n : readEscapedUnicodeFixedWidth(lexer, position)\n : readEscapedCharacter(lexer, position);\n value += escape.value;\n position += escape.size;\n chunkStart = position;\n continue;\n } // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n} // The string value and lexed size of an escape sequence.\n\nfunction readEscapedUnicodeVariableWidth(lexer, position) {\n const body = lexer.source.body;\n let point = 0;\n let size = 3; // Cannot be larger than 12 chars (\\u{00000000}).\n\n while (size < 12) {\n const code = body.charCodeAt(position + size++); // Closing Brace (})\n\n if (code === 0x007d) {\n // Must be at least 5 chars (\\u{0}) and encode a Unicode scalar value.\n if (size < 5 || !isUnicodeScalarValue(point)) {\n break;\n }\n\n return {\n value: String.fromCodePoint(point),\n size,\n };\n } // Append this hex digit to the code point.\n\n point = (point << 4) | readHexDigit(code);\n\n if (point < 0) {\n break;\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(\n position,\n position + size,\n )}\".`,\n );\n}\n\nfunction readEscapedUnicodeFixedWidth(lexer, position) {\n const body = lexer.source.body;\n const code = read16BitHexCode(body, position + 2);\n\n if (isUnicodeScalarValue(code)) {\n return {\n value: String.fromCodePoint(code),\n size: 6,\n };\n } // GraphQL allows JSON-style surrogate pair escape sequences, but only when\n // a valid pair is formed.\n\n if (isLeadingSurrogate(code)) {\n // \\u\n if (\n body.charCodeAt(position + 6) === 0x005c &&\n body.charCodeAt(position + 7) === 0x0075\n ) {\n const trailingCode = read16BitHexCode(body, position + 8);\n\n if (isTrailingSurrogate(trailingCode)) {\n // JavaScript defines strings as a sequence of UTF-16 code units and\n // encodes Unicode code points above U+FFFF using a surrogate pair of\n // code units. Since this is a surrogate pair escape sequence, just\n // include both codes into the JavaScript string value. Had JavaScript\n // not been internally based on UTF-16, then this surrogate pair would\n // be decoded to retrieve the supplementary code point.\n return {\n value: String.fromCodePoint(code, trailingCode),\n size: 12,\n };\n }\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(position, position + 6)}\".`,\n );\n}\n/**\n * Reads four hexadecimal characters and returns the positive integer that 16bit\n * hexadecimal string represents. For example, \"000f\" will return 15, and \"dead\"\n * will return 57005.\n *\n * Returns a negative number if any char was not a valid hexadecimal digit.\n */\n\nfunction read16BitHexCode(body, position) {\n // readHexDigit() returns -1 on error. ORing a negative value with any other\n // value always produces a negative value.\n return (\n (readHexDigit(body.charCodeAt(position)) << 12) |\n (readHexDigit(body.charCodeAt(position + 1)) << 8) |\n (readHexDigit(body.charCodeAt(position + 2)) << 4) |\n readHexDigit(body.charCodeAt(position + 3))\n );\n}\n/**\n * Reads a hexadecimal character and returns its positive integer value (0-15).\n *\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 if the provided character code was not a valid hexadecimal digit.\n *\n * HexDigit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * - `A` `B` `C` `D` `E` `F`\n * - `a` `b` `c` `d` `e` `f`\n */\n\nfunction readHexDigit(code) {\n return code >= 0x0030 && code <= 0x0039 // 0-9\n ? code - 0x0030\n : code >= 0x0041 && code <= 0x0046 // A-F\n ? code - 0x0037\n : code >= 0x0061 && code <= 0x0066 // a-f\n ? code - 0x0057\n : -1;\n}\n/**\n * | Escaped Character | Code Point | Character Name |\n * | ----------------- | ---------- | ---------------------------- |\n * | `\"` | U+0022 | double quote |\n * | `\\` | U+005C | reverse solidus (back slash) |\n * | `/` | U+002F | solidus (forward slash) |\n * | `b` | U+0008 | backspace |\n * | `f` | U+000C | form feed |\n * | `n` | U+000A | line feed (new line) |\n * | `r` | U+000D | carriage return |\n * | `t` | U+0009 | horizontal tab |\n */\n\nfunction readEscapedCharacter(lexer, position) {\n const body = lexer.source.body;\n const code = body.charCodeAt(position + 1);\n\n switch (code) {\n case 0x0022:\n // \"\n return {\n value: '\\u0022',\n size: 2,\n };\n\n case 0x005c:\n // \\\n return {\n value: '\\u005c',\n size: 2,\n };\n\n case 0x002f:\n // /\n return {\n value: '\\u002f',\n size: 2,\n };\n\n case 0x0062:\n // b\n return {\n value: '\\u0008',\n size: 2,\n };\n\n case 0x0066:\n // f\n return {\n value: '\\u000c',\n size: 2,\n };\n\n case 0x006e:\n // n\n return {\n value: '\\u000a',\n size: 2,\n };\n\n case 0x0072:\n // r\n return {\n value: '\\u000d',\n size: 2,\n };\n\n case 0x0074:\n // t\n return {\n value: '\\u0009',\n size: 2,\n };\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character escape sequence: \"${body.slice(\n position,\n position + 2,\n )}\".`,\n );\n}\n/**\n * Reads a block string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"\"` BlockStringCharacter* `\"\"\"`\n *\n * BlockStringCharacter ::\n * - SourceCharacter but not `\"\"\"` or `\\\"\"\"`\n * - `\\\"\"\"`\n * ```\n */\n\nfunction readBlockString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let lineStart = lexer.lineStart;\n let position = start + 3;\n let chunkStart = position;\n let currentLine = '';\n const blockLines = [];\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Triple-Quote (\"\"\")\n\n if (\n code === 0x0022 &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n const token = createToken(\n lexer,\n TokenKind.BLOCK_STRING,\n start,\n position + 3, // Return a string of the lines joined with U+000A.\n dedentBlockStringLines(blockLines).join('\\n'),\n );\n lexer.line += blockLines.length - 1;\n lexer.lineStart = lineStart;\n return token;\n } // Escaped Triple-Quote (\\\"\"\")\n\n if (\n code === 0x005c &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022 &&\n body.charCodeAt(position + 3) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n chunkStart = position + 1; // skip only slash\n\n position += 4;\n continue;\n } // LineTerminator\n\n if (code === 0x000a || code === 0x000d) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n\n if (code === 0x000d && body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n currentLine = '';\n chunkStart = position;\n lineStart = position;\n continue;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * ```\n * Name ::\n * - NameStart NameContinue* [lookahead != NameContinue]\n * ```\n */\n\nfunction readName(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position);\n\n if (isNameContinue(code)) {\n ++position;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.NAME,\n start,\n position,\n body.slice(start, position),\n );\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (typeof value) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? `[function ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\n );\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { inspect } from './inspect.mjs';\n/* c8 ignore next 3 */\n\nconst isProduction =\n globalThis.process && // eslint-disable-next-line no-undef\n process.env.NODE_ENV === 'production';\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n * See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n * See: https://webpack.js.org/guides/production/\n */\n\nexport const instanceOf =\n /* c8 ignore next 6 */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n isProduction\n ? function instanceOf(value, constructor) {\n return value instanceof constructor;\n }\n : function instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (typeof value === 'object' && value !== null) {\n var _value$constructor;\n\n // Prefer Symbol.toStringTag since it is immune to minification.\n const className = constructor.prototype[Symbol.toStringTag];\n const valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value // @ts-expect-error TS bug see, https://github.com/microsoft/TypeScript/issues/38009\n ? value[Symbol.toStringTag]\n : (_value$constructor = value.constructor) === null ||\n _value$constructor === void 0\n ? void 0\n : _value$constructor.name;\n\n if (className === valueClassName) {\n const stringifiedValue = inspect(value);\n throw new Error(`Cannot use ${className} \"${stringifiedValue}\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`);\n }\n }\n\n return false;\n };\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { instanceOf } from '../jsutils/instanceOf.mjs';\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Location, OperationTypeNode } from './ast.mjs';\nimport { DirectiveLocation } from './directiveLocation.mjs';\nimport { Kind } from './kinds.mjs';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.mjs';\nimport { isSource, Source } from './source.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n const parser = new Parser(source, options);\n const document = parser.parseDocument();\n Object.defineProperty(document, 'tokenCount', {\n enumerable: false,\n value: parser.tokenCount,\n });\n return document;\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n */\n\nexport function parseConstValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseConstValueLiteral();\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport class Parser {\n constructor(source, options = {}) {\n const sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n this._tokenCounter = 0;\n }\n\n get tokenCount() {\n return this._tokenCounter;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n parseName() {\n const token = this.expectToken(TokenKind.NAME);\n return this.node(token, {\n kind: Kind.NAME,\n value: token.value,\n });\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n\n parseDocument() {\n return this.node(this._lexer.token, {\n kind: Kind.DOCUMENT,\n definitions: this.many(\n TokenKind.SOF,\n this.parseDefinition,\n TokenKind.EOF,\n ),\n });\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n *\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n\n parseDefinition() {\n if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } // Many definitions begin with a description and require a lookahead.\n\n const hasDescription = this.peekDescription();\n const keywordToken = hasDescription\n ? this._lexer.lookahead()\n : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n\n if (hasDescription) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, descriptions are supported only on type definitions.',\n );\n }\n\n switch (keywordToken.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n\n parseOperationDefinition() {\n const start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n const operation = this.parseOperationType();\n let name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * OperationType : one of query mutation subscription\n */\n\n parseOperationType() {\n const operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return OperationTypeNode.QUERY;\n\n case 'mutation':\n return OperationTypeNode.MUTATION;\n\n case 'subscription':\n return OperationTypeNode.SUBSCRIPTION;\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n\n parseVariableDefinitions() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseVariableDefinition,\n TokenKind.PAREN_R,\n );\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n\n parseVariableDefinition() {\n return this.node(this._lexer.token, {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n ? this.parseConstValueLiteral()\n : undefined,\n directives: this.parseConstDirectives(),\n });\n }\n /**\n * Variable : $ Name\n */\n\n parseVariable() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return this.node(start, {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n });\n }\n /**\n * ```\n * SelectionSet : { Selection+ }\n * ```\n */\n\n parseSelectionSet() {\n return this.node(this._lexer.token, {\n kind: Kind.SELECTION_SET,\n selections: this.many(\n TokenKind.BRACE_L,\n this.parseSelection,\n TokenKind.BRACE_R,\n ),\n });\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n\n parseSelection() {\n return this.peek(TokenKind.SPREAD)\n ? this.parseFragment()\n : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n\n parseField() {\n const start = this._lexer.token;\n const nameOrAlias = this.parseName();\n let alias;\n let name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return this.node(start, {\n kind: Kind.FIELD,\n alias,\n name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L)\n ? this.parseSelectionSet()\n : undefined,\n });\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n\n parseArguments(isConst) {\n const item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n\n parseArgument(isConst = false) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.ARGUMENT,\n name,\n value: this.parseValueLiteral(isConst),\n });\n }\n\n parseConstArgument() {\n return this.parseArgument(true);\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n\n parseFragment() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n const hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return this.node(start, {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n });\n }\n\n return this.node(start, {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n\n parseFragmentDefinition() {\n const start = this._lexer.token;\n this.expectKeyword('fragment'); // Legacy support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (this._options.allowLegacyFragmentVariables === true) {\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentName : Name but not `on`\n */\n\n parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseValueLiteral(isConst) {\n const token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.INT,\n value: token.value,\n });\n\n case TokenKind.FLOAT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.FLOAT,\n value: token.value,\n });\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this.advanceLexer();\n\n switch (token.value) {\n case 'true':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: true,\n });\n\n case 'false':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: false,\n });\n\n case 'null':\n return this.node(token, {\n kind: Kind.NULL,\n });\n\n default:\n return this.node(token, {\n kind: Kind.ENUM,\n value: token.value,\n });\n }\n\n case TokenKind.DOLLAR:\n if (isConst) {\n this.expectToken(TokenKind.DOLLAR);\n\n if (this._lexer.token.kind === TokenKind.NAME) {\n const varName = this._lexer.token.value;\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected variable \"$${varName}\" in constant value.`,\n );\n } else {\n throw this.unexpected(token);\n }\n }\n\n return this.parseVariable();\n\n default:\n throw this.unexpected();\n }\n }\n\n parseConstValueLiteral() {\n return this.parseValueLiteral(true);\n }\n\n parseStringLiteral() {\n const token = this._lexer.token;\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n });\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n\n parseList(isConst) {\n const item = () => this.parseValueLiteral(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n });\n }\n /**\n * ```\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n * ```\n */\n\n parseObject(isConst) {\n const item = () => this.parseObjectField(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n });\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n\n parseObjectField(isConst) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.OBJECT_FIELD,\n name,\n value: this.parseValueLiteral(isConst),\n });\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n\n parseDirectives(isConst) {\n const directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n\n parseConstDirectives() {\n return this.parseDirectives(true);\n }\n /**\n * ```\n * Directive[Const] : @ Name Arguments[?Const]?\n * ```\n */\n\n parseDirective(isConst) {\n const start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return this.node(start, {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n });\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n\n parseTypeReference() {\n const start = this._lexer.token;\n let type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n const innerType = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = this.node(start, {\n kind: Kind.LIST_TYPE,\n type: innerType,\n });\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return this.node(start, {\n kind: Kind.NON_NULL_TYPE,\n type,\n });\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n\n parseNamedType() {\n return this.node(this._lexer.token, {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n });\n } // Implements the parsing rules in the Type Definition section.\n\n peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n\n parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * ```\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n * ```\n */\n\n parseSchemaDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.many(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n return this.node(start, {\n kind: Kind.SCHEMA_DEFINITION,\n description,\n directives,\n operationTypes,\n });\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n\n parseOperationTypeDefinition() {\n const start = this._lexer.token;\n const operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n const type = this.parseNamedType();\n return this.node(start, {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation,\n type,\n });\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n\n parseScalarTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n\n parseObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n\n parseImplementsInterfaces() {\n return this.expectOptionalKeyword('implements')\n ? this.delimitedMany(TokenKind.AMP, this.parseNamedType)\n : [];\n }\n /**\n * ```\n * FieldsDefinition : { FieldDefinition+ }\n * ```\n */\n\n parseFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseFieldDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n\n parseFieldDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.FIELD_DEFINITION,\n description,\n name,\n arguments: args,\n type,\n directives,\n });\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n\n parseArgumentDefs() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseInputValueDef,\n TokenKind.PAREN_R,\n );\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n\n parseInputValueDef() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n let defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseConstValueLiteral();\n }\n\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description,\n name,\n type,\n defaultValue,\n directives,\n });\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n\n parseInterfaceTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n\n parseUnionTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n return this.node(start, {\n kind: Kind.UNION_TYPE_DEFINITION,\n description,\n name,\n directives,\n types,\n });\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n\n parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS)\n ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType)\n : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n\n parseEnumTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n return this.node(start, {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description,\n name,\n directives,\n values,\n });\n }\n /**\n * ```\n * EnumValuesDefinition : { EnumValueDefinition+ }\n * ```\n */\n\n parseEnumValuesDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseEnumValueDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n */\n\n parseEnumValueDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseEnumValueName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseEnumValueName() {\n if (\n this._lexer.token.value === 'true' ||\n this._lexer.token.value === 'false' ||\n this._lexer.token.value === 'null'\n ) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n `${getTokenDesc(\n this._lexer.token,\n )} is reserved and cannot be used for an enum value.`,\n );\n }\n\n return this.parseName();\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n\n parseInputObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * InputFieldsDefinition : { InputValueDefinition+ }\n * ```\n */\n\n parseInputFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseInputValueDef,\n TokenKind.BRACE_R,\n );\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n\n parseTypeSystemExtension() {\n const keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * ```\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n * ```\n */\n\n parseSchemaExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.optionalMany(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCHEMA_EXTENSION,\n directives,\n operationTypes,\n });\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n\n parseScalarTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n\n parseObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n\n parseInterfaceTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n\n parseUnionTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.UNION_TYPE_EXTENSION,\n name,\n directives,\n types,\n });\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n\n parseEnumTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name,\n directives,\n values,\n });\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n\n parseInputObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n * ```\n */\n\n parseDirectiveDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n const repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n const locations = this.parseDirectiveLocations();\n return this.node(start, {\n kind: Kind.DIRECTIVE_DEFINITION,\n description,\n name,\n arguments: args,\n repeatable,\n locations,\n });\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n\n parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n\n parseDirectiveLocation() {\n const start = this._lexer.token;\n const name = this.parseName();\n\n if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a node that, if configured to do so, sets a \"loc\" field as a\n * location object, used to identify the place in the source that created a\n * given parsed object.\n */\n\n node(startToken, node) {\n if (this._options.noLocation !== true) {\n node.loc = new Location(\n startToken,\n this._lexer.lastToken,\n this._lexer.source,\n );\n }\n\n return node;\n }\n /**\n * Determines if the next token is of a given kind\n */\n\n peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return token;\n }\n\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`,\n );\n }\n /**\n * If the next token is of the given kind, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n } else {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected \"${value}\", found ${getTokenDesc(token)}.`,\n );\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n\n unexpected(atToken) {\n const token =\n atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected ${getTokenDesc(token)}.`,\n );\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n\n delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n }\n\n advanceLexer() {\n const { maxTokens } = this._options;\n\n const token = this._lexer.advance();\n\n if (token.kind !== TokenKind.EOF) {\n ++this._tokenCounter;\n\n if (maxTokens !== undefined && this._tokenCounter > maxTokens) {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Document contains more that ${maxTokens} tokens. Parsing aborted.`,\n );\n }\n }\n }\n}\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n const value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? ` \"${value}\"` : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? `\"${kind}\"` : kind;\n}\n","/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n */\nexport function printString(str) {\n return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n} // eslint-disable-next-line no-control-regex\n\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str) {\n return escapeSequences[str.charCodeAt(0)];\n} // prettier-ignore\n\nconst escapeSequences = [\n '\\\\u0000',\n '\\\\u0001',\n '\\\\u0002',\n '\\\\u0003',\n '\\\\u0004',\n '\\\\u0005',\n '\\\\u0006',\n '\\\\u0007',\n '\\\\b',\n '\\\\t',\n '\\\\n',\n '\\\\u000B',\n '\\\\f',\n '\\\\r',\n '\\\\u000E',\n '\\\\u000F',\n '\\\\u0010',\n '\\\\u0011',\n '\\\\u0012',\n '\\\\u0013',\n '\\\\u0014',\n '\\\\u0015',\n '\\\\u0016',\n '\\\\u0017',\n '\\\\u0018',\n '\\\\u0019',\n '\\\\u001A',\n '\\\\u001B',\n '\\\\u001C',\n '\\\\u001D',\n '\\\\u001E',\n '\\\\u001F',\n '',\n '',\n '\\\\\"',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 2F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 3F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 4F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '\\\\\\\\',\n '',\n '',\n '', // 5F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 6F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '\\\\u007F',\n '\\\\u0080',\n '\\\\u0081',\n '\\\\u0082',\n '\\\\u0083',\n '\\\\u0084',\n '\\\\u0085',\n '\\\\u0086',\n '\\\\u0087',\n '\\\\u0088',\n '\\\\u0089',\n '\\\\u008A',\n '\\\\u008B',\n '\\\\u008C',\n '\\\\u008D',\n '\\\\u008E',\n '\\\\u008F',\n '\\\\u0090',\n '\\\\u0091',\n '\\\\u0092',\n '\\\\u0093',\n '\\\\u0094',\n '\\\\u0095',\n '\\\\u0096',\n '\\\\u0097',\n '\\\\u0098',\n '\\\\u0099',\n '\\\\u009A',\n '\\\\u009B',\n '\\\\u009C',\n '\\\\u009D',\n '\\\\u009E',\n '\\\\u009F',\n];\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { isNode, QueryDocumentKeys } from './ast.mjs';\nimport { Kind } from './kinds.mjs';\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport const BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * ```ts\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n * ```\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to three permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n * ```\n *\n * 2) Named visitors that trigger upon entering and leaving a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n * ```\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * ```ts\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n * ```\n */\n\nexport function visit(root, visitor, visitorKeys = QueryDocumentKeys) {\n const enterLeaveMap = new Map();\n\n for (const kind of Object.values(Kind)) {\n enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));\n }\n /* eslint-disable no-undef-init */\n\n let stack = undefined;\n let inArray = Array.isArray(root);\n let keys = [root];\n let index = -1;\n let edits = [];\n let node = root;\n let key = undefined;\n let parent = undefined;\n const path = [];\n const ancestors = [];\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n const isLeaving = index === keys.length;\n const isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n let editOffset = 0;\n\n for (const [editKey, editValue] of edits) {\n const arrayKey = editKey - editOffset;\n\n if (editValue === null) {\n node.splice(arrayKey, 1);\n editOffset++;\n } else {\n node[arrayKey] = editValue;\n }\n }\n } else {\n node = Object.defineProperties(\n {},\n Object.getOwnPropertyDescriptors(node),\n );\n\n for (const [editKey, editValue] of edits) {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else if (parent) {\n key = inArray ? index : keys[index];\n node = parent[key];\n\n if (node === null || node === undefined) {\n continue;\n }\n\n path.push(key);\n }\n\n let result;\n\n if (!Array.isArray(node)) {\n var _enterLeaveMap$get, _enterLeaveMap$get2;\n\n isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);\n const visitFn = isLeaving\n ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null ||\n _enterLeaveMap$get === void 0\n ? void 0\n : _enterLeaveMap$get.leave\n : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null ||\n _enterLeaveMap$get2 === void 0\n ? void 0\n : _enterLeaveMap$get2.enter;\n result =\n visitFn === null || visitFn === void 0\n ? void 0\n : visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _node$kind;\n\n stack = {\n inArray,\n index,\n keys,\n edits,\n prev: stack,\n };\n inArray = Array.isArray(node);\n keys = inArray\n ? node\n : (_node$kind = visitorKeys[node.kind]) !== null &&\n _node$kind !== void 0\n ? _node$kind\n : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n // New root\n return edits[edits.length - 1][1];\n }\n\n return root;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n const skipping = new Array(visitors.length).fill(null);\n const mergedVisitor = Object.create(null);\n\n for (const kind of Object.values(Kind)) {\n let hasVisitor = false;\n const enterList = new Array(visitors.length).fill(undefined);\n const leaveList = new Array(visitors.length).fill(undefined);\n\n for (let i = 0; i < visitors.length; ++i) {\n const { enter, leave } = getEnterLeaveForKind(visitors[i], kind);\n hasVisitor || (hasVisitor = enter != null || leave != null);\n enterList[i] = enter;\n leaveList[i] = leave;\n }\n\n if (!hasVisitor) {\n continue;\n }\n\n const mergedEnterLeave = {\n enter(...args) {\n const node = args[0];\n\n for (let i = 0; i < visitors.length; i++) {\n if (skipping[i] === null) {\n var _enterList$i;\n\n const result =\n (_enterList$i = enterList[i]) === null || _enterList$i === void 0\n ? void 0\n : _enterList$i.apply(visitors[i], args);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n },\n\n leave(...args) {\n const node = args[0];\n\n for (let i = 0; i < visitors.length; i++) {\n if (skipping[i] === null) {\n var _leaveList$i;\n\n const result =\n (_leaveList$i = leaveList[i]) === null || _leaveList$i === void 0\n ? void 0\n : _leaveList$i.apply(visitors[i], args);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n },\n };\n mergedVisitor[kind] = mergedEnterLeave;\n }\n\n return mergedVisitor;\n}\n/**\n * Given a visitor instance and a node kind, return EnterLeaveVisitor for that kind.\n */\n\nexport function getEnterLeaveForKind(visitor, kind) {\n const kindVisitor = visitor[kind];\n\n if (typeof kindVisitor === 'object') {\n // { Kind: { enter() {}, leave() {} } }\n return kindVisitor;\n } else if (typeof kindVisitor === 'function') {\n // { Kind() {} }\n return {\n enter: kindVisitor,\n leave: undefined,\n };\n } // { enter() {}, leave() {} }\n\n return {\n enter: visitor.enter,\n leave: visitor.leave,\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n *\n * @deprecated Please use `getEnterLeaveForKind` instead. Will be removed in v17\n */\n\n/* c8 ignore next 8 */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n const { enter, leave } = getEnterLeaveForKind(visitor, kind);\n return isLeaving ? leave : enter;\n}\n","import { printBlockString } from './blockString.mjs';\nimport { printString } from './printString.mjs';\nimport { visit } from './visitor.mjs';\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, printDocASTReducer);\n}\nconst MAX_LINE_LENGTH = 80;\nconst printDocASTReducer = {\n Name: {\n leave: (node) => node.value,\n },\n Variable: {\n leave: (node) => '$' + node.name,\n },\n // Document\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n OperationDefinition: {\n leave(node) {\n const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix = join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n ); // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives }) =>\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: {\n leave: ({ selections }) => block(selections),\n },\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = wrap('', alias, ': ') + name;\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n },\n Argument: {\n leave: ({ name, value }) => name + ': ' + value,\n },\n // Fragments\n FragmentSpread: {\n leave: ({ name, directives }) =>\n '...' + name + wrap(' ', join(directives, ' ')),\n },\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n FragmentDefinition: {\n leave: (\n { name, typeCondition, variableDefinitions, directives, selectionSet }, // Note: fragment variable definitions are experimental and may be changed\n ) =>\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n // Value\n IntValue: {\n leave: ({ value }) => value,\n },\n FloatValue: {\n leave: ({ value }) => value,\n },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString ? printBlockString(value) : printString(value),\n },\n BooleanValue: {\n leave: ({ value }) => (value ? 'true' : 'false'),\n },\n NullValue: {\n leave: () => 'null',\n },\n EnumValue: {\n leave: ({ value }) => value,\n },\n ListValue: {\n leave: ({ values }) => '[' + join(values, ', ') + ']',\n },\n ObjectValue: {\n leave: ({ fields }) => '{' + join(fields, ', ') + '}',\n },\n ObjectField: {\n leave: ({ name, value }) => name + ': ' + value,\n },\n // Directive\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n // Type\n NamedType: {\n leave: ({ name }) => name,\n },\n ListType: {\n leave: ({ type }) => '[' + type + ']',\n },\n NonNullType: {\n leave: ({ type }) => type + '!',\n },\n // Type System Definitions\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n DirectiveDefinition: {\n leave: ({ description, name, arguments: args, repeatable, locations }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n};\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\nfunction join(maybeArray, separator = '') {\n var _maybeArray$filter$jo;\n\n return (_maybeArray$filter$jo =\n maybeArray === null || maybeArray === void 0\n ? void 0\n : maybeArray.filter((x) => x).join(separator)) !== null &&\n _maybeArray$filter$jo !== void 0\n ? _maybeArray$filter$jo\n : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n */\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\nfunction wrap(start, maybeString, end = '') {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray) {\n var _maybeArray$some;\n\n // FIXME: https://github.com/graphql/graphql-js/issues/2203\n\n /* c8 ignore next */\n return (_maybeArray$some =\n maybeArray === null || maybeArray === void 0\n ? void 0\n : maybeArray.some((str) => str.includes('\\n'))) !== null &&\n _maybeArray$some !== void 0\n ? _maybeArray$some\n : false;\n}\n","import { parse, print } from 'graphql';\n/**\n * helpers\n */\nconst extractOperationName = (document) => {\n let operationName = undefined;\n const operationDefinitions = document.definitions.filter((definition) => definition.kind === `OperationDefinition`);\n if (operationDefinitions.length === 1) {\n operationName = operationDefinitions[0]?.name?.value;\n }\n return operationName;\n};\nexport const resolveRequestDocument = (document) => {\n if (typeof document === `string`) {\n let operationName = undefined;\n try {\n const parsedDocument = parse(document);\n operationName = extractOperationName(parsedDocument);\n }\n catch (err) {\n // Failed parsing the document, the operationName will be undefined\n }\n return { query: document, operationName };\n }\n const operationName = extractOperationName(document);\n return { query: print(document), operationName };\n};\n//# sourceMappingURL=resolveRequestDocument.js.map","export class ClientError extends Error {\n constructor(response, request) {\n const message = `${ClientError.extractMessage(response)}: ${JSON.stringify({\n response,\n request,\n })}`;\n super(message);\n Object.setPrototypeOf(this, ClientError.prototype);\n this.response = response;\n this.request = request;\n // this is needed as Safari doesn't support .captureStackTrace\n if (typeof Error.captureStackTrace === `function`) {\n Error.captureStackTrace(this, ClientError);\n }\n }\n static extractMessage(response) {\n return response.errors?.[0]?.message ?? `GraphQL Error (Code: ${response.status})`;\n }\n}\n//# sourceMappingURL=types.js.map","// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\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) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + 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 if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\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._noBody) return\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 var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\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 /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\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\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\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 = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\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 if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\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 || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\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 if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\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 // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\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 try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\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: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\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 = g.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 statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\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 setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(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) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\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 (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.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})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\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","import { defaultJsonSerializer } from './defaultJsonSerializer.js';\nimport { HeadersInstanceToPlainObject, uppercase } from './helpers.js';\nimport { parseBatchRequestArgs, parseRawRequestArgs, parseRawRequestExtendedArgs, parseRequestArgs, parseRequestExtendedArgs, } from './parseArgs.js';\nimport { resolveRequestDocument } from './resolveRequestDocument.js';\nimport { ClientError, } from './types.js';\nimport crossFetch, * as CrossFetch from 'cross-fetch';\n/**\n * Convert the given headers configuration into a plain object.\n */\nconst resolveHeaders = (headers) => {\n let oHeaders = {};\n if (headers) {\n if ((typeof Headers !== `undefined` && headers instanceof Headers) ||\n (CrossFetch && CrossFetch.Headers && headers instanceof CrossFetch.Headers)) {\n oHeaders = HeadersInstanceToPlainObject(headers);\n }\n else if (Array.isArray(headers)) {\n headers.forEach(([name, value]) => {\n if (name && value !== undefined) {\n oHeaders[name] = value;\n }\n });\n }\n else {\n oHeaders = headers;\n }\n }\n return oHeaders;\n};\n/**\n * Clean a GraphQL document to send it via a GET query\n */\nconst cleanQuery = (str) => str.replace(/([\\s,]|#[^\\n\\r]+)+/g, ` `).trim();\n/**\n * Create query string for GraphQL request\n */\nconst buildRequestConfig = (params) => {\n if (!Array.isArray(params.query)) {\n const params_ = params;\n const search = [`query=${encodeURIComponent(cleanQuery(params_.query))}`];\n if (params.variables) {\n search.push(`variables=${encodeURIComponent(params_.jsonSerializer.stringify(params_.variables))}`);\n }\n if (params_.operationName) {\n search.push(`operationName=${encodeURIComponent(params_.operationName)}`);\n }\n return search.join(`&`);\n }\n if (typeof params.variables !== `undefined` && !Array.isArray(params.variables)) {\n throw new Error(`Cannot create query with given variable type, array expected`);\n }\n // Batch support\n const params_ = params;\n const payload = params.query.reduce((acc, currentQuery, index) => {\n acc.push({\n query: cleanQuery(currentQuery),\n variables: params_.variables ? params_.jsonSerializer.stringify(params_.variables[index]) : undefined,\n });\n return acc;\n }, []);\n return `query=${encodeURIComponent(params_.jsonSerializer.stringify(payload))}`;\n};\nconst createHttpMethodFetcher = (method) => async (params) => {\n const { url, query, variables, operationName, fetch, fetchOptions, middleware } = params;\n const headers = { ...params.headers };\n let queryParams = ``;\n let body = undefined;\n if (method === `POST`) {\n body = createRequestBody(query, variables, operationName, fetchOptions.jsonSerializer);\n if (typeof body === `string`) {\n // @ts-expect-error todo\n headers[`Content-Type`] = `application/json`;\n }\n }\n else {\n // @ts-expect-error todo needs ADT for TS to understand the different states\n queryParams = buildRequestConfig({\n query,\n variables,\n operationName,\n jsonSerializer: fetchOptions.jsonSerializer ?? defaultJsonSerializer,\n });\n }\n const init = {\n method,\n headers,\n body,\n ...fetchOptions,\n };\n let urlResolved = url;\n let initResolved = init;\n if (middleware) {\n const result = await Promise.resolve(middleware({ ...init, url, operationName, variables }));\n const { url: urlNew, ...initNew } = result;\n urlResolved = urlNew;\n initResolved = initNew;\n }\n if (queryParams) {\n urlResolved = `${urlResolved}?${queryParams}`;\n }\n return await fetch(urlResolved, initResolved);\n};\n/**\n * GraphQL Client.\n */\nclass GraphQLClient {\n constructor(url, requestConfig = {}) {\n this.url = url;\n this.requestConfig = requestConfig;\n /**\n * Send a GraphQL query to the server.\n */\n this.rawRequest = async (...args) => {\n const [queryOrOptions, variables, requestHeaders] = args;\n const rawRequestOptions = parseRawRequestArgs(queryOrOptions, variables, requestHeaders);\n const { headers, fetch = crossFetch, method = `POST`, requestMiddleware, responseMiddleware, ...fetchOptions } = this.requestConfig;\n const { url } = this;\n if (rawRequestOptions.signal !== undefined) {\n fetchOptions.signal = rawRequestOptions.signal;\n }\n const { operationName } = resolveRequestDocument(rawRequestOptions.query);\n return makeRequest({\n url,\n query: rawRequestOptions.query,\n variables: rawRequestOptions.variables,\n headers: {\n ...resolveHeaders(callOrIdentity(headers)),\n ...resolveHeaders(rawRequestOptions.requestHeaders),\n },\n operationName,\n fetch,\n method,\n fetchOptions,\n middleware: requestMiddleware,\n })\n .then((response) => {\n if (responseMiddleware) {\n responseMiddleware(response);\n }\n return response;\n })\n .catch((error) => {\n if (responseMiddleware) {\n responseMiddleware(error);\n }\n throw error;\n });\n };\n }\n async request(documentOrOptions, ...variablesAndRequestHeaders) {\n const [variables, requestHeaders] = variablesAndRequestHeaders;\n const requestOptions = parseRequestArgs(documentOrOptions, variables, requestHeaders);\n const { headers, fetch = crossFetch, method = `POST`, requestMiddleware, responseMiddleware, ...fetchOptions } = this.requestConfig;\n const { url } = this;\n if (requestOptions.signal !== undefined) {\n fetchOptions.signal = requestOptions.signal;\n }\n const { query, operationName } = resolveRequestDocument(requestOptions.document);\n return makeRequest({\n url,\n query,\n variables: requestOptions.variables,\n headers: {\n ...resolveHeaders(callOrIdentity(headers)),\n ...resolveHeaders(requestOptions.requestHeaders),\n },\n operationName,\n fetch,\n method,\n fetchOptions,\n middleware: requestMiddleware,\n })\n .then((response) => {\n if (responseMiddleware) {\n responseMiddleware(response);\n }\n return response.data;\n })\n .catch((error) => {\n if (responseMiddleware) {\n responseMiddleware(error);\n }\n throw error;\n });\n }\n // prettier-ignore\n batchRequests(documentsOrOptions, requestHeaders) {\n const batchRequestOptions = parseBatchRequestArgs(documentsOrOptions, requestHeaders);\n const { headers, ...fetchOptions } = this.requestConfig;\n if (batchRequestOptions.signal !== undefined) {\n fetchOptions.signal = batchRequestOptions.signal;\n }\n const queries = batchRequestOptions.documents.map(({ document }) => resolveRequestDocument(document).query);\n const variables = batchRequestOptions.documents.map(({ variables }) => variables);\n return makeRequest({\n url: this.url,\n query: queries,\n // @ts-expect-error TODO reconcile batch variables into system.\n variables,\n headers: {\n ...resolveHeaders(callOrIdentity(headers)),\n ...resolveHeaders(batchRequestOptions.requestHeaders),\n },\n operationName: undefined,\n fetch: this.requestConfig.fetch ?? crossFetch,\n method: this.requestConfig.method || `POST`,\n fetchOptions,\n middleware: this.requestConfig.requestMiddleware,\n })\n .then((response) => {\n if (this.requestConfig.responseMiddleware) {\n this.requestConfig.responseMiddleware(response);\n }\n return response.data;\n })\n .catch((error) => {\n if (this.requestConfig.responseMiddleware) {\n this.requestConfig.responseMiddleware(error);\n }\n throw error;\n });\n }\n setHeaders(headers) {\n this.requestConfig.headers = headers;\n return this;\n }\n /**\n * Attach a header to the client. All subsequent requests will have this header.\n */\n setHeader(key, value) {\n const { headers } = this.requestConfig;\n if (headers) {\n // todo what if headers is in nested array form... ?\n //@ts-expect-error todo\n headers[key] = value;\n }\n else {\n this.requestConfig.headers = { [key]: value };\n }\n return this;\n }\n /**\n * Change the client endpoint. All subsequent requests will send to this endpoint.\n */\n setEndpoint(value) {\n this.url = value;\n return this;\n }\n}\nconst makeRequest = async (params) => {\n const { query, variables, fetchOptions } = params;\n const fetcher = createHttpMethodFetcher(uppercase(params.method ?? `post`));\n const isBatchingQuery = Array.isArray(params.query);\n const response = await fetcher(params);\n const result = await getResult(response, fetchOptions.jsonSerializer ?? defaultJsonSerializer);\n const successfullyReceivedData = Array.isArray(result)\n ? !result.some(({ data }) => !data)\n : Boolean(result.data);\n const successfullyPassedErrorPolicy = Array.isArray(result) ||\n !result.errors ||\n (Array.isArray(result.errors) && !result.errors.length) ||\n fetchOptions.errorPolicy === `all` ||\n fetchOptions.errorPolicy === `ignore`;\n if (response.ok && successfullyPassedErrorPolicy && successfullyReceivedData) {\n // @ts-expect-error TODO fixme\n const { errors: _, ...rest } = Array.isArray(result) ? result : result;\n const data = fetchOptions.errorPolicy === `ignore` ? rest : result;\n const dataEnvelope = isBatchingQuery ? { data } : data;\n // @ts-expect-error TODO\n return {\n ...dataEnvelope,\n headers: response.headers,\n status: response.status,\n };\n }\n else {\n const errorResult = typeof result === `string`\n ? {\n error: result,\n }\n : result;\n throw new ClientError(\n // @ts-expect-error TODO\n { ...errorResult, status: response.status, headers: response.headers }, { query, variables });\n }\n};\n/**\n * Send a GraphQL Query to the GraphQL server for execution.\n */\nconst rawRequest = async (...args) => {\n const [urlOrOptions, query, ...variablesAndRequestHeaders] = args;\n const requestOptions = parseRawRequestExtendedArgs(urlOrOptions, query, ...variablesAndRequestHeaders);\n const client = new GraphQLClient(requestOptions.url);\n return client.rawRequest({\n ...requestOptions,\n });\n};\n// prettier-ignore\n// eslint-disable-next-line\nasync function request(urlOrOptions, document, ...variablesAndRequestHeaders) {\n const requestOptions = parseRequestExtendedArgs(urlOrOptions, document, ...variablesAndRequestHeaders);\n const client = new GraphQLClient(requestOptions.url);\n return client.request({\n ...requestOptions,\n });\n}\n/**\n * Send a batch of GraphQL Document to the GraphQL server for execution.\n *\n * @example\n *\n * ```ts\n * // You can pass a raw string\n *\n * await batchRequests('https://foo.bar/graphql', [\n * {\n * query: `\n * {\n * query {\n * users\n * }\n * }`\n * },\n * {\n * query: `\n * {\n * query {\n * users\n * }\n * }`\n * }])\n *\n * // You can also pass a GraphQL DocumentNode as query. Convenient if you\n * // are using graphql-tag package.\n *\n * import gql from 'graphql-tag'\n *\n * await batchRequests('https://foo.bar/graphql', [{ query: gql`...` }])\n * ```\n */\nconst batchRequests = async (...args) => {\n const params = parseBatchRequestsArgsExtended(args);\n const client = new GraphQLClient(params.url);\n return client.batchRequests(params);\n};\nconst parseBatchRequestsArgsExtended = (args) => {\n if (args.length === 1) {\n return args[0];\n }\n else {\n return {\n url: args[0],\n documents: args[1],\n requestHeaders: args[2],\n signal: undefined,\n };\n }\n};\nconst createRequestBody = (query, variables, operationName, jsonSerializer) => {\n const jsonSerializer_ = jsonSerializer ?? defaultJsonSerializer;\n if (!Array.isArray(query)) {\n return jsonSerializer_.stringify({ query, variables, operationName });\n }\n if (typeof variables !== `undefined` && !Array.isArray(variables)) {\n throw new Error(`Cannot create request body with given variable type, array expected`);\n }\n // Batch support\n const payload = query.reduce((acc, currentQuery, index) => {\n acc.push({ query: currentQuery, variables: variables ? variables[index] : undefined });\n return acc;\n }, []);\n return jsonSerializer_.stringify(payload);\n};\nconst getResult = async (response, jsonSerializer) => {\n let contentType;\n response.headers.forEach((value, key) => {\n if (key.toLowerCase() === `content-type`) {\n contentType = value;\n }\n });\n if (contentType &&\n (contentType.toLowerCase().startsWith(`application/json`) ||\n contentType.toLowerCase().startsWith(`application/graphql+json`) ||\n contentType.toLowerCase().startsWith(`application/graphql-response+json`))) {\n return jsonSerializer.parse(await response.text());\n }\n else {\n return response.text();\n }\n};\nconst callOrIdentity = (value) => {\n return typeof value === `function` ? value() : value;\n};\n/**\n * Convenience passthrough template tag to get the benefits of tooling for the gql template tag. This does not actually parse the input into a GraphQL DocumentNode like graphql-tag package does. It just returns the string with any variables given interpolated. Can save you a bit of performance and having to install another package.\n *\n * @example\n * ```\n * import { gql } from 'graphql-request'\n *\n * await request('https://foo.bar/graphql', gql`...`)\n * ```\n *\n * @remarks\n *\n * Several tools in the Node GraphQL ecosystem are hardcoded to specially treat any template tag named \"gql\". For example see this prettier issue: https://github.com/prettier/prettier/issues/4360. Using this template tag has no runtime effect beyond variable interpolation.\n */\nexport const gql = (chunks, ...variables) => {\n return chunks.reduce((acc, chunk, index) => `${acc}${chunk}${index in variables ? String(variables[index]) : ``}`, ``);\n};\nexport { GraphQLWebSocketClient } from './graphql-ws.js';\nexport { resolveRequestDocument } from './resolveRequestDocument.js';\nexport { batchRequests, ClientError, GraphQLClient, rawRequest, request, };\nexport default request;\n//# sourceMappingURL=index.js.map","import * as React from \"react\";\nfunction BoltIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(BoltIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CameraIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 9a3.75 3.75 0 1 0 0 7.5A3.75 3.75 0 0 0 12 9Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.344 3.071a49.52 49.52 0 0 1 5.312 0c.967.052 1.83.585 2.332 1.39l.821 1.317c.24.383.645.643 1.11.71.386.054.77.113 1.152.177 1.432.239 2.429 1.493 2.429 2.909V18a3 3 0 0 1-3 3h-15a3 3 0 0 1-3-3V9.574c0-1.416.997-2.67 2.429-2.909.382-.064.766-.123 1.151-.178a1.56 1.56 0 0 0 1.11-.71l.822-1.315a2.942 2.942 0 0 1 2.332-1.39ZM6.75 12.75a5.25 5.25 0 1 1 10.5 0 5.25 5.25 0 0 1-10.5 0Zm12-1.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CameraIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M12.53 16.28a.75.75 0 0 1-1.06 0l-7.5-7.5a.75.75 0 0 1 1.06-1.06L12 14.69l6.97-6.97a.75.75 0 1 1 1.06 1.06l-7.5 7.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronRightIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronRightIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronUpIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M11.47 7.72a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 1 1-1.06 1.06L12 9.31l-6.97 6.97a.75.75 0 0 1-1.06-1.06l7.5-7.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronUpIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CloudArrowDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M10.5 3.75a6 6 0 0 0-5.98 6.496A5.25 5.25 0 0 0 6.75 20.25H18a4.5 4.5 0 0 0 2.206-8.423 3.75 3.75 0 0 0-4.133-4.303A6.001 6.001 0 0 0 10.5 3.75Zm2.25 6a.75.75 0 0 0-1.5 0v4.94l-1.72-1.72a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06l-1.72 1.72V9.75Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CloudArrowDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction EllipsisHorizontalIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.5 12a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EllipsisHorizontalIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction EllipsisVerticalIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M10.5 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EllipsisVerticalIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ExclamationCircleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ExclamationCircleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ExclamationTriangleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ExclamationTriangleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction EyeDropperIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.098 2.598a3.75 3.75 0 1 1 3.622 6.275l-1.72.46V12a.75.75 0 0 1-.22.53l-.75.75a.75.75 0 0 1-1.06 0l-.97-.97-7.94 7.94a2.56 2.56 0 0 1-1.81.75 1.06 1.06 0 0 0-.75.31l-.97.97a.75.75 0 0 1-1.06 0l-.75-.75a.75.75 0 0 1 0-1.06l.97-.97a1.06 1.06 0 0 0 .31-.75c0-.68.27-1.33.75-1.81L11.69 9l-.97-.97a.75.75 0 0 1 0-1.06l.75-.75A.75.75 0 0 1 12 6h2.666l.461-1.72c.165-.617.49-1.2.971-1.682Zm-3.348 7.463L4.81 18a1.06 1.06 0 0 0-.31.75c0 .318-.06.63-.172.922a2.56 2.56 0 0 1 .922-.172c.281 0 .551-.112.75-.31l7.94-7.94-1.19-1.19Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EyeDropperIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction EyeIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EyeIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction LinkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M19.902 4.098a3.75 3.75 0 0 0-5.304 0l-4.5 4.5a3.75 3.75 0 0 0 1.035 6.037.75.75 0 0 1-.646 1.353 5.25 5.25 0 0 1-1.449-8.45l4.5-4.5a5.25 5.25 0 1 1 7.424 7.424l-1.757 1.757a.75.75 0 1 1-1.06-1.06l1.757-1.757a3.75 3.75 0 0 0 0-5.304Zm-7.389 4.267a.75.75 0 0 1 1-.353 5.25 5.25 0 0 1 1.449 8.45l-4.5 4.5a5.25 5.25 0 1 1-7.424-7.424l1.757-1.757a.75.75 0 1 1 1.06 1.06l-1.757 1.757a3.75 3.75 0 1 0 5.304 5.304l4.5-4.5a3.75 3.75 0 0 0-1.035-6.037.75.75 0 0 1-.354-1Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(LinkIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PaperAirplaneIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.478 2.404a.75.75 0 0 0-.926.941l2.432 7.905H13.5a.75.75 0 0 1 0 1.5H4.984l-2.432 7.905a.75.75 0 0 0 .926.94 60.519 60.519 0 0 0 18.445-8.986.75.75 0 0 0 0-1.218A60.517 60.517 0 0 0 3.478 2.404Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PaperAirplaneIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PhotoIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M1.5 6a2.25 2.25 0 0 1 2.25-2.25h16.5A2.25 2.25 0 0 1 22.5 6v12a2.25 2.25 0 0 1-2.25 2.25H3.75A2.25 2.25 0 0 1 1.5 18V6ZM3 16.06V18c0 .414.336.75.75.75h16.5A.75.75 0 0 0 21 18v-1.94l-2.69-2.689a1.5 1.5 0 0 0-2.12 0l-.88.879.97.97a.75.75 0 1 1-1.06 1.06l-5.16-5.159a1.5 1.5 0 0 0-2.12 0L3 16.061Zm10.125-7.81a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PhotoIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PlayIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PlayIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PlusIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M12 3.75a.75.75 0 0 1 .75.75v6.75h6.75a.75.75 0 0 1 0 1.5h-6.75v6.75a.75.75 0 0 1-1.5 0v-6.75H4.5a.75.75 0 0 1 0-1.5h6.75V4.5a.75.75 0 0 1 .75-.75Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PlusIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction RectangleGroupIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M1.5 7.125c0-1.036.84-1.875 1.875-1.875h6c1.036 0 1.875.84 1.875 1.875v3.75c0 1.036-.84 1.875-1.875 1.875h-6A1.875 1.875 0 0 1 1.5 10.875v-3.75Zm12 1.5c0-1.036.84-1.875 1.875-1.875h5.25c1.035 0 1.875.84 1.875 1.875v8.25c0 1.035-.84 1.875-1.875 1.875h-5.25a1.875 1.875 0 0 1-1.875-1.875v-8.25ZM3 16.125c0-1.036.84-1.875 1.875-1.875h5.25c1.036 0 1.875.84 1.875 1.875v2.25c0 1.035-.84 1.875-1.875 1.875h-5.25A1.875 1.875 0 0 1 3 18.375v-2.25Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(RectangleGroupIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction SparklesIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9 4.5a.75.75 0 0 1 .721.544l.813 2.846a3.75 3.75 0 0 0 2.576 2.576l2.846.813a.75.75 0 0 1 0 1.442l-2.846.813a3.75 3.75 0 0 0-2.576 2.576l-.813 2.846a.75.75 0 0 1-1.442 0l-.813-2.846a3.75 3.75 0 0 0-2.576-2.576l-2.846-.813a.75.75 0 0 1 0-1.442l2.846-.813A3.75 3.75 0 0 0 7.466 7.89l.813-2.846A.75.75 0 0 1 9 4.5ZM18 1.5a.75.75 0 0 1 .728.568l.258 1.036c.236.94.97 1.674 1.91 1.91l1.036.258a.75.75 0 0 1 0 1.456l-1.036.258c-.94.236-1.674.97-1.91 1.91l-.258 1.036a.75.75 0 0 1-1.456 0l-.258-1.036a2.625 2.625 0 0 0-1.91-1.91l-1.036-.258a.75.75 0 0 1 0-1.456l1.036-.258a2.625 2.625 0 0 0 1.91-1.91l.258-1.036A.75.75 0 0 1 18 1.5ZM16.5 15a.75.75 0 0 1 .712.513l.394 1.183c.15.447.5.799.948.948l1.183.395a.75.75 0 0 1 0 1.422l-1.183.395c-.447.15-.799.5-.948.948l-.395 1.183a.75.75 0 0 1-1.422 0l-.395-1.183a1.5 1.5 0 0 0-.948-.948l-1.183-.395a.75.75 0 0 1 0-1.422l1.183-.395c.447-.15.799-.5.948-.948l.395-1.183A.75.75 0 0 1 16.5 15Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(SparklesIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction TrashIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.5 4.478v.227a48.816 48.816 0 0 1 3.878.512.75.75 0 1 1-.256 1.478l-.209-.035-1.005 13.07a3 3 0 0 1-2.991 2.77H8.084a3 3 0 0 1-2.991-2.77L4.087 6.66l-.209.035a.75.75 0 0 1-.256-1.478A48.567 48.567 0 0 1 7.5 4.705v-.227c0-1.564 1.213-2.9 2.816-2.951a52.662 52.662 0 0 1 3.369 0c1.603.051 2.815 1.387 2.815 2.951Zm-6.136-1.452a51.196 51.196 0 0 1 3.273 0C14.39 3.05 15 3.684 15 4.478v.113a49.488 49.488 0 0 0-6 0v-.113c0-.794.609-1.428 1.364-1.452Zm-.355 5.945a.75.75 0 1 0-1.5.058l.347 9a.75.75 0 1 0 1.499-.058l-.346-9Zm5.48.058a.75.75 0 1 0-1.498-.058l-.347 9a.75.75 0 0 0 1.5.058l.345-9Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(TrashIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction UserCircleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18.685 19.097A9.723 9.723 0 0 0 21.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 0 0 3.065 7.097A9.716 9.716 0 0 0 12 21.75a9.716 9.716 0 0 0 6.685-2.653Zm-12.54-1.285A7.486 7.486 0 0 1 12 15a7.486 7.486 0 0 1 5.855 2.812A8.224 8.224 0 0 1 12 20.25a8.224 8.224 0 0 1-5.855-2.438ZM15.75 9a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(UserCircleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction UsersIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 6.375a4.125 4.125 0 1 1 8.25 0 4.125 4.125 0 0 1-8.25 0ZM14.25 8.625a3.375 3.375 0 1 1 6.75 0 3.375 3.375 0 0 1-6.75 0ZM1.5 19.125a7.125 7.125 0 0 1 14.25 0v.003l-.001.119a.75.75 0 0 1-.363.63 13.067 13.067 0 0 1-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 0 1-.364-.63l-.001-.122ZM17.25 19.128l-.001.144a2.25 2.25 0 0 1-.233.96 10.088 10.088 0 0 0 5.06-1.01.75.75 0 0 0 .42-.643 4.875 4.875 0 0 0-6.957-4.611 8.586 8.586 0 0 1 1.71 5.157v.003Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(UsersIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction VideoCameraIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 4.5a3 3 0 0 0-3 3v9a3 3 0 0 0 3 3h8.25a3 3 0 0 0 3-3v-9a3 3 0 0 0-3-3H4.5ZM19.94 18.75l-2.69-2.69V7.94l2.69-2.69c.944-.945 2.56-.276 2.56 1.06v11.38c0 1.336-1.616 2.005-2.56 1.06Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(VideoCameraIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction XMarkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(XMarkIcon);\nexport default ForwardRef;","import React, { useEffect } from \"react\";\nimport { EyeIcon, EllipsisHorizontalIcon, PlayIcon } from \"@heroicons/react/24/solid\";\nimport { AdvancedImage } from \"@cloudinary/react\";\nimport { Cloudinary } from \"@cloudinary/url-gen\";\nimport { thumbnail } from \"@cloudinary/url-gen/actions/resize\";\nimport { FieldValues, UseFormWatch } from \"react-hook-form/dist/types\";\nimport { ContentMedium } from \"../types\";\nimport { FormattedMessage } from \"react-intl\";\n\ntype Props = {\n exampleAccount: {\n displayed_name: string;\n picture_url: string;\n company: {\n email: string;\n company: string;\n phone: string;\n hashtag: string;\n website: string;\n displayed_name: string;\n client_code: string;\n last_landing_path: string;\n last_newsletter_path: string;\n last_apilink: string;\n promo_code: string;\n sponsor_link: string;\n };\n };\n teaser: string;\n focus: string;\n reconstructed_url: string;\n description: string;\n cta?: string;\n media: ContentMedium[];\n // watch: UseFormWatch<FieldValues>\n};\nfunction FacebookPreview({\n exampleAccount,\n teaser,\n focus,\n reconstructed_url,\n description,\n cta,\n media,\n}: Props) {\n const parsedTeaser = teaser\n ?.replaceAll(\"$SITE\", exampleAccount.company.website || \"\")\n .replaceAll(\"$ENTREPRISE\", exampleAccount.company.company || \"\")\n .replaceAll(\"$NOM\", `${exampleAccount.company.displayed_name}` || \"\")\n .replaceAll(\"$MAIL\", exampleAccount.company.email || \"\")\n .replaceAll(\"$TEL\", exampleAccount.company.phone || \"\")\n .replaceAll(\"$HASHTAG\", exampleAccount.company.hashtag || \"\")\n .replaceAll(\"$CODE\", exampleAccount.company.client_code || \"\")\n .replaceAll(\"$LANDING\", exampleAccount.company.last_landing_path || \"\")\n .replaceAll(\"$NEWSLETTER\", exampleAccount.company.last_newsletter_path || \"\")\n .replaceAll(\"$APILINK\", exampleAccount.company.last_apilink || \"\")\n .replaceAll(\"$PROMOCODE\", exampleAccount.company.promo_code || \"\")\n .replaceAll(\"$SPONSORLINK\", exampleAccount.company.sponsor_link || \"\");\n\n const parsedLink = reconstructed_url\n ?.replaceAll(\"$SITE\", exampleAccount.company.website || \"\")\n .replaceAll(\"$TEL\", exampleAccount.company.phone || \"\")\n .replaceAll(\"$CODE\", exampleAccount.company.client_code || \"\")\n .replaceAll(\"$SPONSORLINK\", exampleAccount.company.sponsor_link || \"\");\n\n const cld = new Cloudinary({\n cloud: {\n cloudName: \"dcmekntwa\",\n },\n });\n\n // const watchFields = watch([\"teaser\", \"description\"])\n // console.log(\"ok\", watchFields)\n\n // useEffect(() => {\n // console.log(\"ok\", watch)\n // const subscription = watch((value, { name, type }) => console.log(value, name, type));\n // return () => subscription.unsubscribe();\n // }, [watch]);\n // console.log(\"cta\", cta);\n\n const validMedia = media.filter((m: ContentMedium) =>\n focus === \"video\"\n ? m.serialized_file.resource_type === \"video\"\n : m.serialized_file.resource_type === \"image\"\n );\n\n // console.log(media);\n\n return (\n <div className=\"hidden lg:block\">\n <h3 className=\"flex items-baseline text-sm font-semibold leading-6 text-gray-700\">\n <EyeIcon className=\"w-3 h-3 mr-1\" />\n <FormattedMessage id=\"facebook_preview.preview\" defaultMessage=\"Prévisualisation\" />\n </h3>\n <div className=\"p-2 bg-gray-200 rounded-md shadow-inner\">\n <div className=\"w-full h-auto py-1 bg-white rounded-md shadow-md \">\n <div className=\"flex items-start justify-between w-full p-1 px-2\">\n <div className=\"flex\">\n <img\n className=\"w-10 h-10 mr-3 rounded-full\"\n src={exampleAccount.picture_url}\n alt=\"\"\n />\n <div>\n <h3 className=\"text-sm font-semibold text-gray-700\">\n {exampleAccount.displayed_name}\n </h3>\n <p className=\"text-xs text-gray-500\">\n <FormattedMessage id=\"facebook_preview.minutes\" defaultMessage=\"43 min\" />\n </p>\n </div>\n </div>\n <div className=\"flex flex-col h-full \">\n <EllipsisHorizontalIcon className=\"w-4 mr-1 text-gray-500\" />\n </div>\n </div>\n {/* <!--Contenu du message (teaser + éventuel lien) --> */}\n <div className=\"px-3 pb-3\">\n <p className=\"text-xs text-gray-700 whitespace-pre-wrap break-words\">\n {parsedTeaser}\n </p>\n {focus !== \"link\" && (\n <a className=\"block text-sm text-brand_main whitespace-pre-wrap break-words\">\n {parsedLink}\n </a>\n )}\n </div>\n {/* <%# On affiche une image si des media sont présent %> */}\n {validMedia.length > 0 && (\n <div\n className={`relative ${focus === \"images\" ? \"space-y-1\" : \"\"\n } flex flex-col justify-center`}\n >\n <AdvancedImage\n className={`object-cover w-full ${focus === \"image\" ? \"h-content\" : \"h-36\"}`}\n cldImg={cld\n .image(validMedia[0].serialized_file.public_id)\n .setAssetType(validMedia[0].serialized_file.resource_type)\n .format(\n validMedia[0].serialized_file.resource_type === \"video\"\n ? \"jpg\"\n : validMedia[0].serialized_file.format\n )\n .resize(thumbnail().width(320))}\n />\n <div\n className=\"absolute top-0 flex items-center justify-center w-full h-full\"\n >\n {validMedia[0] && validMedia[0].serialized_file.resource_type === \"video\" && <PlayIcon className=\"w-10 h-10 text-white\" />}\n </div>\n <div className=\"flex space-x-1\">\n {validMedia.length > 1 &&\n focus === \"images\" &&\n validMedia.map((medium, idx) => (\n <>\n {[1, 2, 3].includes(idx) && (\n <div\n className={`relative ${idx === 1 && validMedia.length < 3\n ? \"h-36 w-full\"\n : validMedia.length < 4\n ? \"h-36 w-1/2\"\n : \"h-24 w-1/2\"\n }`}\n >\n <AdvancedImage\n className=\"object-cover w-full h-full\"\n cldImg={cld\n .image(medium.serialized_file.public_id)\n .setAssetType(medium.serialized_file.resource_type)\n .format(medium.serialized_file.format)\n .resize(thumbnail().width(320))}\n />\n {validMedia.length > 4 && idx === 3 && (\n <>\n <div className=\"absolute top-0 left-0 w-full h-full bg-black opacity-60 \"></div>\n <div className=\"absolute top-0 flex flex-col justify-center w-full h-full text-xl font-semibold text-center text-white\">\n <p>{`+ ${validMedia.length - 4}`}</p>\n </div>\n </>\n )}\n </div>\n )}\n </>\n ))}\n </div>\n </div>\n )}\n\n {focus === \"link\" && (\n <div className=\"flex flex-wrap justify-between p-1 bg-gray-100\">\n <div className=\"w-full m-1 break-words\">\n <p\n className=\"text-xs text-gray-500 uppercase \"\n x-text=\"<%=link%>.replaceAll('$SITE','<%= website %>')\"\n >\n {parsedLink}\n </p>\n <p className=\"text-xs font-medium\">\n {description}\n </p>\n </div>\n <div className=\"flex justify-end w-full m-1\">\n {cta && (\n <button className=\"w-1/2 px-2 py-1 bg-gray-200 rounded-md\">\n <p className=\"text-xs font-bold\">{cta}</p>\n </button>\n )}\n </div>\n </div>\n )}\n\n <div className=\"flex items-center w-full h-8 px-3 my-1\">\n <div className=\"z-10 flex items-center justify-center w-4 h-4 bg-indigo-500 rounded-full \">\n <svg\n className=\"w-2 h-2 text-white fill-current\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"27\"\n height=\"27\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#b0b0b0\"\n strokeWidth=\"2\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"></path>\n </svg>\n </div>\n <div className=\"flex items-center justify-center w-4 h-4 -ml-1 bg-red-500 rounded-full\">\n <svg\n className=\"w-2 h-2 text-white fill-current stroke-current\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"27\"\n height=\"27\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#b0b0b0\"\n strokeWidth=\"2\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path>\n </svg>\n </div>\n <div className=\"flex justify-between w-full\">\n <p className=\"ml-3 text-xs text-gray-500\">8</p>\n <p className=\"ml-3 text-xs text-gray-500\">\n <FormattedMessage id=\"facebook_preview.comments\" defaultMessage=\"29 commentaires\" />\n </p>\n </div>\n </div>\n <div className=\"grid w-full grid-cols-3 px-1 my-3\">\n <button\n type=\"button\"\n className=\"flex flex-row items-center justify-center w-full space-x-1\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#838383\"\n strokeWidth=\"2\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"></path>\n </svg>\n <span className=\"text-xs font-semibold text-gray-600\">\n <FormattedMessage id=\"facebook_preview.like\" defaultMessage=\"J'aime\" />\n </span>\n </button>\n <button\n type=\"button\"\n className=\"flex flex-row items-center justify-center w-full space-x-1\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#838383\"\n strokeWidth=\"2\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path>\n </svg>\n <span className=\"text-xs font-semibold text-gray-600\">\n <FormattedMessage id=\"facebook_preview.comment\" defaultMessage=\"Commenter\" />\n </span>\n </button>\n <button\n type=\"button\"\n className=\"flex flex-row items-center justify-center w-full space-x-1\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"#838383\"\n strokeWidth=\"2\"\n strokeLinecap=\"square\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"18\" cy=\"5\" r=\"3\"></circle>\n <circle cx=\"6\" cy=\"12\" r=\"3\"></circle>\n <circle cx=\"18\" cy=\"19\" r=\"3\"></circle>\n <line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\"></line>\n <line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\"></line>\n </svg>\n <span className=\"text-xs font-semibold text-gray-600\">\n <FormattedMessage id=\"facebook_preview.share\" defaultMessage=\"Partager\" />\n </span>\n </button>\n </div>\n </div>\n </div>\n <p className=\"mt-1 text-sm text-gray-500\">\n <FormattedMessage id=\"facebook_preview.final_result\" defaultMessage=\"Prévisualisation réalisée à partir du modèle de facebook. Le résultat final peut être sujet à des variations.\" />\n </p>\n </div>\n );\n}\n\nexport default FacebookPreview;\n","import * as React from \"react\";\nfunction BeakerIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23-.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(BeakerIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CloudArrowDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 9.75v6.75m0 0-3-3m3 3 3-3m-8.25 6a4.5 4.5 0 0 1-1.41-8.775 5.25 5.25 0 0 1 10.233-2.33 3 3 0 0 1 3.758 3.848A3.752 3.752 0 0 1 18 19.5H6.75Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CloudArrowDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction EllipsisVerticalIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 6.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 12.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 18.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(EllipsisVerticalIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ExclamationTriangleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ExclamationTriangleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction FaceSmileIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M15.182 15.182a4.5 4.5 0 0 1-6.364 0M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0ZM9.75 9.75c0 .414-.168.75-.375.75S9 10.164 9 9.75 9.168 9 9.375 9s.375.336.375.75Zm-.375 0h.008v.015h-.008V9.75Zm5.625 0c0 .414-.168.75-.375.75s-.375-.336-.375-.75.168-.75.375-.75.375.336.375.75Zm-.375 0h.008v.015h-.008V9.75Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(FaceSmileIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction GlobeAltIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(GlobeAltIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction MagnifyingGlassIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(MagnifyingGlassIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PhotoIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PhotoIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction SparklesIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(SparklesIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction TrashIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(TrashIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction UserCircleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(UserCircleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction UsersIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(UsersIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction XMarkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6 18 18 6M6 6l12 12\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(XMarkIcon);\nexport default ForwardRef;","function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\nfunction $c770c458706daa72$export$2e2bcd8739ae039(obj, key, value) {\n if (key in obj) Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n else obj[key] = value;\n return obj;\n}\n\n\nvar $fb96b826c0c5f37a$var$n, $fb96b826c0c5f37a$export$41c562ebe57d11e2, $fb96b826c0c5f37a$var$u, $fb96b826c0c5f37a$export$a8257692ac88316c, $fb96b826c0c5f37a$var$t, $fb96b826c0c5f37a$var$r, $fb96b826c0c5f37a$var$o, $fb96b826c0c5f37a$var$f, $fb96b826c0c5f37a$var$e = {}, $fb96b826c0c5f37a$var$c = [], $fb96b826c0c5f37a$var$s = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\nfunction $fb96b826c0c5f37a$var$a(n1, l1) {\n for(var u1 in l1)n1[u1] = l1[u1];\n return n1;\n}\nfunction $fb96b826c0c5f37a$var$h(n2) {\n var l2 = n2.parentNode;\n l2 && l2.removeChild(n2);\n}\nfunction $fb96b826c0c5f37a$export$c8a8987d4410bf2d(l3, u2, i1) {\n var t1, r1, o1, f1 = {};\n for(o1 in u2)\"key\" == o1 ? t1 = u2[o1] : \"ref\" == o1 ? r1 = u2[o1] : f1[o1] = u2[o1];\n if (arguments.length > 2 && (f1.children = arguments.length > 3 ? $fb96b826c0c5f37a$var$n.call(arguments, 2) : i1), \"function\" == typeof l3 && null != l3.defaultProps) for(o1 in l3.defaultProps)void 0 === f1[o1] && (f1[o1] = l3.defaultProps[o1]);\n return $fb96b826c0c5f37a$var$y(l3, f1, t1, r1, null);\n}\nfunction $fb96b826c0c5f37a$var$y(n3, i2, t2, r2, o2) {\n var f2 = {\n type: n3,\n props: i2,\n key: t2,\n ref: r2,\n __k: null,\n __: null,\n __b: 0,\n __e: null,\n __d: void 0,\n __c: null,\n __h: null,\n constructor: void 0,\n __v: null == o2 ? ++$fb96b826c0c5f37a$var$u : o2\n };\n return null == o2 && null != $fb96b826c0c5f37a$export$41c562ebe57d11e2.vnode && $fb96b826c0c5f37a$export$41c562ebe57d11e2.vnode(f2), f2;\n}\nfunction $fb96b826c0c5f37a$export$7d1e3a5e95ceca43() {\n return {\n current: null\n };\n}\nfunction $fb96b826c0c5f37a$export$ffb0004e005737fa(n4) {\n return n4.children;\n}\nfunction $fb96b826c0c5f37a$export$16fa2f45be04daa8(n5, l4) {\n this.props = n5, this.context = l4;\n}\nfunction $fb96b826c0c5f37a$var$k(n6, l5) {\n if (null == l5) return n6.__ ? $fb96b826c0c5f37a$var$k(n6.__, n6.__.__k.indexOf(n6) + 1) : null;\n for(var u3; l5 < n6.__k.length; l5++)if (null != (u3 = n6.__k[l5]) && null != u3.__e) return u3.__e;\n return \"function\" == typeof n6.type ? $fb96b826c0c5f37a$var$k(n6) : null;\n}\nfunction $fb96b826c0c5f37a$var$b(n7) {\n var l6, u4;\n if (null != (n7 = n7.__) && null != n7.__c) {\n for(n7.__e = n7.__c.base = null, l6 = 0; l6 < n7.__k.length; l6++)if (null != (u4 = n7.__k[l6]) && null != u4.__e) {\n n7.__e = n7.__c.base = u4.__e;\n break;\n }\n return $fb96b826c0c5f37a$var$b(n7);\n }\n}\nfunction $fb96b826c0c5f37a$var$m(n8) {\n (!n8.__d && (n8.__d = !0) && $fb96b826c0c5f37a$var$t.push(n8) && !$fb96b826c0c5f37a$var$g.__r++ || $fb96b826c0c5f37a$var$o !== $fb96b826c0c5f37a$export$41c562ebe57d11e2.debounceRendering) && (($fb96b826c0c5f37a$var$o = $fb96b826c0c5f37a$export$41c562ebe57d11e2.debounceRendering) || $fb96b826c0c5f37a$var$r)($fb96b826c0c5f37a$var$g);\n}\nfunction $fb96b826c0c5f37a$var$g() {\n for(var n9; $fb96b826c0c5f37a$var$g.__r = $fb96b826c0c5f37a$var$t.length;)n9 = $fb96b826c0c5f37a$var$t.sort(function(n10, l7) {\n return n10.__v.__b - l7.__v.__b;\n }), $fb96b826c0c5f37a$var$t = [], n9.some(function(n11) {\n var l8, u5, i3, t3, r3, o3;\n n11.__d && (r3 = (t3 = (l8 = n11).__v).__e, (o3 = l8.__P) && (u5 = [], (i3 = $fb96b826c0c5f37a$var$a({}, t3)).__v = t3.__v + 1, $fb96b826c0c5f37a$var$j(o3, t3, i3, l8.__n, void 0 !== o3.ownerSVGElement, null != t3.__h ? [\n r3\n ] : null, u5, null == r3 ? $fb96b826c0c5f37a$var$k(t3) : r3, t3.__h), $fb96b826c0c5f37a$var$z(u5, t3), t3.__e != r3 && $fb96b826c0c5f37a$var$b(t3)));\n });\n}\nfunction $fb96b826c0c5f37a$var$w(n12, l9, u6, i4, t4, r4, o4, f3, s1, a1) {\n var h1, v1, p1, _1, b1, m1, g1, w1 = i4 && i4.__k || $fb96b826c0c5f37a$var$c, A1 = w1.length;\n for(u6.__k = [], h1 = 0; h1 < l9.length; h1++)if (null != (_1 = u6.__k[h1] = null == (_1 = l9[h1]) || \"boolean\" == typeof _1 ? null : \"string\" == typeof _1 || \"number\" == typeof _1 || \"bigint\" == typeof _1 ? $fb96b826c0c5f37a$var$y(null, _1, null, null, _1) : Array.isArray(_1) ? $fb96b826c0c5f37a$var$y($fb96b826c0c5f37a$export$ffb0004e005737fa, {\n children: _1\n }, null, null, null) : _1.__b > 0 ? $fb96b826c0c5f37a$var$y(_1.type, _1.props, _1.key, null, _1.__v) : _1)) {\n if (_1.__ = u6, _1.__b = u6.__b + 1, null === (p1 = w1[h1]) || p1 && _1.key == p1.key && _1.type === p1.type) w1[h1] = void 0;\n else for(v1 = 0; v1 < A1; v1++){\n if ((p1 = w1[v1]) && _1.key == p1.key && _1.type === p1.type) {\n w1[v1] = void 0;\n break;\n }\n p1 = null;\n }\n $fb96b826c0c5f37a$var$j(n12, _1, p1 = p1 || $fb96b826c0c5f37a$var$e, t4, r4, o4, f3, s1, a1), b1 = _1.__e, (v1 = _1.ref) && p1.ref != v1 && (g1 || (g1 = []), p1.ref && g1.push(p1.ref, null, _1), g1.push(v1, _1.__c || b1, _1)), null != b1 ? (null == m1 && (m1 = b1), \"function\" == typeof _1.type && _1.__k === p1.__k ? _1.__d = s1 = $fb96b826c0c5f37a$var$x(_1, s1, n12) : s1 = $fb96b826c0c5f37a$var$P(n12, _1, p1, w1, b1, s1), \"function\" == typeof u6.type && (u6.__d = s1)) : s1 && p1.__e == s1 && s1.parentNode != n12 && (s1 = $fb96b826c0c5f37a$var$k(p1));\n }\n for(u6.__e = m1, h1 = A1; h1--;)null != w1[h1] && (\"function\" == typeof u6.type && null != w1[h1].__e && w1[h1].__e == u6.__d && (u6.__d = $fb96b826c0c5f37a$var$k(i4, h1 + 1)), $fb96b826c0c5f37a$var$N(w1[h1], w1[h1]));\n if (g1) for(h1 = 0; h1 < g1.length; h1++)$fb96b826c0c5f37a$var$M(g1[h1], g1[++h1], g1[++h1]);\n}\nfunction $fb96b826c0c5f37a$var$x(n13, l10, u7) {\n for(var i5, t5 = n13.__k, r5 = 0; t5 && r5 < t5.length; r5++)(i5 = t5[r5]) && (i5.__ = n13, l10 = \"function\" == typeof i5.type ? $fb96b826c0c5f37a$var$x(i5, l10, u7) : $fb96b826c0c5f37a$var$P(u7, i5, i5, t5, i5.__e, l10));\n return l10;\n}\nfunction $fb96b826c0c5f37a$export$47e4c5b300681277(n14, l11) {\n return l11 = l11 || [], null == n14 || \"boolean\" == typeof n14 || (Array.isArray(n14) ? n14.some(function(n15) {\n $fb96b826c0c5f37a$export$47e4c5b300681277(n15, l11);\n }) : l11.push(n14)), l11;\n}\nfunction $fb96b826c0c5f37a$var$P(n16, l12, u8, i6, t6, r6) {\n var o5, f4, e1;\n if (void 0 !== l12.__d) o5 = l12.__d, l12.__d = void 0;\n else if (null == u8 || t6 != r6 || null == t6.parentNode) n: if (null == r6 || r6.parentNode !== n16) n16.appendChild(t6), o5 = null;\n else {\n for(f4 = r6, e1 = 0; (f4 = f4.nextSibling) && e1 < i6.length; e1 += 2)if (f4 == t6) break n;\n n16.insertBefore(t6, r6), o5 = r6;\n }\n return void 0 !== o5 ? o5 : t6.nextSibling;\n}\nfunction $fb96b826c0c5f37a$var$C(n17, l13, u9, i7, t7) {\n var r7;\n for(r7 in u9)\"children\" === r7 || \"key\" === r7 || r7 in l13 || $fb96b826c0c5f37a$var$H(n17, r7, null, u9[r7], i7);\n for(r7 in l13)t7 && \"function\" != typeof l13[r7] || \"children\" === r7 || \"key\" === r7 || \"value\" === r7 || \"checked\" === r7 || u9[r7] === l13[r7] || $fb96b826c0c5f37a$var$H(n17, r7, l13[r7], u9[r7], i7);\n}\nfunction $fb96b826c0c5f37a$var$$(n18, l14, u10) {\n \"-\" === l14[0] ? n18.setProperty(l14, u10) : n18[l14] = null == u10 ? \"\" : \"number\" != typeof u10 || $fb96b826c0c5f37a$var$s.test(l14) ? u10 : u10 + \"px\";\n}\nfunction $fb96b826c0c5f37a$var$H(n19, l15, u11, i8, t8) {\n var r8;\n n: if (\"style\" === l15) {\n if (\"string\" == typeof u11) n19.style.cssText = u11;\n else {\n if (\"string\" == typeof i8 && (n19.style.cssText = i8 = \"\"), i8) for(l15 in i8)u11 && l15 in u11 || $fb96b826c0c5f37a$var$$(n19.style, l15, \"\");\n if (u11) for(l15 in u11)i8 && u11[l15] === i8[l15] || $fb96b826c0c5f37a$var$$(n19.style, l15, u11[l15]);\n }\n } else if (\"o\" === l15[0] && \"n\" === l15[1]) r8 = l15 !== (l15 = l15.replace(/Capture$/, \"\")), l15 = l15.toLowerCase() in n19 ? l15.toLowerCase().slice(2) : l15.slice(2), n19.l || (n19.l = {}), n19.l[l15 + r8] = u11, u11 ? i8 || n19.addEventListener(l15, r8 ? $fb96b826c0c5f37a$var$T : $fb96b826c0c5f37a$var$I, r8) : n19.removeEventListener(l15, r8 ? $fb96b826c0c5f37a$var$T : $fb96b826c0c5f37a$var$I, r8);\n else if (\"dangerouslySetInnerHTML\" !== l15) {\n if (t8) l15 = l15.replace(/xlink[H:h]/, \"h\").replace(/sName$/, \"s\");\n else if (\"href\" !== l15 && \"list\" !== l15 && \"form\" !== l15 && \"tabIndex\" !== l15 && \"download\" !== l15 && l15 in n19) try {\n n19[l15] = null == u11 ? \"\" : u11;\n break n;\n } catch (n) {}\n \"function\" == typeof u11 || (null != u11 && (!1 !== u11 || \"a\" === l15[0] && \"r\" === l15[1]) ? n19.setAttribute(l15, u11) : n19.removeAttribute(l15));\n }\n}\nfunction $fb96b826c0c5f37a$var$I(n20) {\n this.l[n20.type + !1]($fb96b826c0c5f37a$export$41c562ebe57d11e2.event ? $fb96b826c0c5f37a$export$41c562ebe57d11e2.event(n20) : n20);\n}\nfunction $fb96b826c0c5f37a$var$T(n21) {\n this.l[n21.type + !0]($fb96b826c0c5f37a$export$41c562ebe57d11e2.event ? $fb96b826c0c5f37a$export$41c562ebe57d11e2.event(n21) : n21);\n}\nfunction $fb96b826c0c5f37a$var$j(n22, u12, i9, t9, r9, o6, f5, e2, c1) {\n var s2, h2, v2, y1, p2, k1, b2, m2, g2, x1, A2, P1 = u12.type;\n if (void 0 !== u12.constructor) return null;\n null != i9.__h && (c1 = i9.__h, e2 = u12.__e = i9.__e, u12.__h = null, o6 = [\n e2\n ]), (s2 = $fb96b826c0c5f37a$export$41c562ebe57d11e2.__b) && s2(u12);\n try {\n n: if (\"function\" == typeof P1) {\n if (m2 = u12.props, g2 = (s2 = P1.contextType) && t9[s2.__c], x1 = s2 ? g2 ? g2.props.value : s2.__ : t9, i9.__c ? b2 = (h2 = u12.__c = i9.__c).__ = h2.__E : (\"prototype\" in P1 && P1.prototype.render ? u12.__c = h2 = new P1(m2, x1) : (u12.__c = h2 = new $fb96b826c0c5f37a$export$16fa2f45be04daa8(m2, x1), h2.constructor = P1, h2.render = $fb96b826c0c5f37a$var$O), g2 && g2.sub(h2), h2.props = m2, h2.state || (h2.state = {}), h2.context = x1, h2.__n = t9, v2 = h2.__d = !0, h2.__h = []), null == h2.__s && (h2.__s = h2.state), null != P1.getDerivedStateFromProps && (h2.__s == h2.state && (h2.__s = $fb96b826c0c5f37a$var$a({}, h2.__s)), $fb96b826c0c5f37a$var$a(h2.__s, P1.getDerivedStateFromProps(m2, h2.__s))), y1 = h2.props, p2 = h2.state, v2) null == P1.getDerivedStateFromProps && null != h2.componentWillMount && h2.componentWillMount(), null != h2.componentDidMount && h2.__h.push(h2.componentDidMount);\n else {\n if (null == P1.getDerivedStateFromProps && m2 !== y1 && null != h2.componentWillReceiveProps && h2.componentWillReceiveProps(m2, x1), !h2.__e && null != h2.shouldComponentUpdate && !1 === h2.shouldComponentUpdate(m2, h2.__s, x1) || u12.__v === i9.__v) {\n h2.props = m2, h2.state = h2.__s, u12.__v !== i9.__v && (h2.__d = !1), h2.__v = u12, u12.__e = i9.__e, u12.__k = i9.__k, u12.__k.forEach(function(n23) {\n n23 && (n23.__ = u12);\n }), h2.__h.length && f5.push(h2);\n break n;\n }\n null != h2.componentWillUpdate && h2.componentWillUpdate(m2, h2.__s, x1), null != h2.componentDidUpdate && h2.__h.push(function() {\n h2.componentDidUpdate(y1, p2, k1);\n });\n }\n h2.context = x1, h2.props = m2, h2.state = h2.__s, (s2 = $fb96b826c0c5f37a$export$41c562ebe57d11e2.__r) && s2(u12), h2.__d = !1, h2.__v = u12, h2.__P = n22, s2 = h2.render(h2.props, h2.state, h2.context), h2.state = h2.__s, null != h2.getChildContext && (t9 = $fb96b826c0c5f37a$var$a($fb96b826c0c5f37a$var$a({}, t9), h2.getChildContext())), v2 || null == h2.getSnapshotBeforeUpdate || (k1 = h2.getSnapshotBeforeUpdate(y1, p2)), A2 = null != s2 && s2.type === $fb96b826c0c5f37a$export$ffb0004e005737fa && null == s2.key ? s2.props.children : s2, $fb96b826c0c5f37a$var$w(n22, Array.isArray(A2) ? A2 : [\n A2\n ], u12, i9, t9, r9, o6, f5, e2, c1), h2.base = u12.__e, u12.__h = null, h2.__h.length && f5.push(h2), b2 && (h2.__E = h2.__ = null), h2.__e = !1;\n } else null == o6 && u12.__v === i9.__v ? (u12.__k = i9.__k, u12.__e = i9.__e) : u12.__e = $fb96b826c0c5f37a$var$L(i9.__e, u12, i9, t9, r9, o6, f5, c1);\n (s2 = $fb96b826c0c5f37a$export$41c562ebe57d11e2.diffed) && s2(u12);\n } catch (n24) {\n u12.__v = null, (c1 || null != o6) && (u12.__e = e2, u12.__h = !!c1, o6[o6.indexOf(e2)] = null), $fb96b826c0c5f37a$export$41c562ebe57d11e2.__e(n24, u12, i9);\n }\n}\nfunction $fb96b826c0c5f37a$var$z(n25, u13) {\n $fb96b826c0c5f37a$export$41c562ebe57d11e2.__c && $fb96b826c0c5f37a$export$41c562ebe57d11e2.__c(u13, n25), n25.some(function(u14) {\n try {\n n25 = u14.__h, u14.__h = [], n25.some(function(n26) {\n n26.call(u14);\n });\n } catch (n27) {\n $fb96b826c0c5f37a$export$41c562ebe57d11e2.__e(n27, u14.__v);\n }\n });\n}\nfunction $fb96b826c0c5f37a$var$L(l16, u15, i10, t10, r10, o7, f6, c2) {\n var s3, a2, v3, y2 = i10.props, p3 = u15.props, d1 = u15.type, _2 = 0;\n if (\"svg\" === d1 && (r10 = !0), null != o7) {\n for(; _2 < o7.length; _2++)if ((s3 = o7[_2]) && \"setAttribute\" in s3 == !!d1 && (d1 ? s3.localName === d1 : 3 === s3.nodeType)) {\n l16 = s3, o7[_2] = null;\n break;\n }\n }\n if (null == l16) {\n if (null === d1) return document.createTextNode(p3);\n l16 = r10 ? document.createElementNS(\"http://www.w3.org/2000/svg\", d1) : document.createElement(d1, p3.is && p3), o7 = null, c2 = !1;\n }\n if (null === d1) y2 === p3 || c2 && l16.data === p3 || (l16.data = p3);\n else {\n if (o7 = o7 && $fb96b826c0c5f37a$var$n.call(l16.childNodes), a2 = (y2 = i10.props || $fb96b826c0c5f37a$var$e).dangerouslySetInnerHTML, v3 = p3.dangerouslySetInnerHTML, !c2) {\n if (null != o7) for(y2 = {}, _2 = 0; _2 < l16.attributes.length; _2++)y2[l16.attributes[_2].name] = l16.attributes[_2].value;\n (v3 || a2) && (v3 && (a2 && v3.__html == a2.__html || v3.__html === l16.innerHTML) || (l16.innerHTML = v3 && v3.__html || \"\"));\n }\n if ($fb96b826c0c5f37a$var$C(l16, p3, y2, r10, c2), v3) u15.__k = [];\n else if (_2 = u15.props.children, $fb96b826c0c5f37a$var$w(l16, Array.isArray(_2) ? _2 : [\n _2\n ], u15, i10, t10, r10 && \"foreignObject\" !== d1, o7, f6, o7 ? o7[0] : i10.__k && $fb96b826c0c5f37a$var$k(i10, 0), c2), null != o7) for(_2 = o7.length; _2--;)null != o7[_2] && $fb96b826c0c5f37a$var$h(o7[_2]);\n c2 || (\"value\" in p3 && void 0 !== (_2 = p3.value) && (_2 !== y2.value || _2 !== l16.value || \"progress\" === d1 && !_2) && $fb96b826c0c5f37a$var$H(l16, \"value\", _2, y2.value, !1), \"checked\" in p3 && void 0 !== (_2 = p3.checked) && _2 !== l16.checked && $fb96b826c0c5f37a$var$H(l16, \"checked\", _2, y2.checked, !1));\n }\n return l16;\n}\nfunction $fb96b826c0c5f37a$var$M(n28, u16, i11) {\n try {\n \"function\" == typeof n28 ? n28(u16) : n28.current = u16;\n } catch (n29) {\n $fb96b826c0c5f37a$export$41c562ebe57d11e2.__e(n29, i11);\n }\n}\nfunction $fb96b826c0c5f37a$var$N(n30, u17, i12) {\n var t11, r11;\n if ($fb96b826c0c5f37a$export$41c562ebe57d11e2.unmount && $fb96b826c0c5f37a$export$41c562ebe57d11e2.unmount(n30), (t11 = n30.ref) && (t11.current && t11.current !== n30.__e || $fb96b826c0c5f37a$var$M(t11, null, u17)), null != (t11 = n30.__c)) {\n if (t11.componentWillUnmount) try {\n t11.componentWillUnmount();\n } catch (n31) {\n $fb96b826c0c5f37a$export$41c562ebe57d11e2.__e(n31, u17);\n }\n t11.base = t11.__P = null;\n }\n if (t11 = n30.__k) for(r11 = 0; r11 < t11.length; r11++)t11[r11] && $fb96b826c0c5f37a$var$N(t11[r11], u17, \"function\" != typeof n30.type);\n i12 || null == n30.__e || $fb96b826c0c5f37a$var$h(n30.__e), n30.__e = n30.__d = void 0;\n}\nfunction $fb96b826c0c5f37a$var$O(n32, l, u18) {\n return this.constructor(n32, u18);\n}\nfunction $fb96b826c0c5f37a$export$b3890eb0ae9dca99(u19, i13, t12) {\n var r12, o8, f7;\n $fb96b826c0c5f37a$export$41c562ebe57d11e2.__ && $fb96b826c0c5f37a$export$41c562ebe57d11e2.__(u19, i13), o8 = (r12 = \"function\" == typeof t12) ? null : t12 && t12.__k || i13.__k, f7 = [], $fb96b826c0c5f37a$var$j(i13, u19 = (!r12 && t12 || i13).__k = $fb96b826c0c5f37a$export$c8a8987d4410bf2d($fb96b826c0c5f37a$export$ffb0004e005737fa, null, [\n u19\n ]), o8 || $fb96b826c0c5f37a$var$e, $fb96b826c0c5f37a$var$e, void 0 !== i13.ownerSVGElement, !r12 && t12 ? [\n t12\n ] : o8 ? null : i13.firstChild ? $fb96b826c0c5f37a$var$n.call(i13.childNodes) : null, f7, !r12 && t12 ? t12 : o8 ? o8.__e : i13.firstChild, r12), $fb96b826c0c5f37a$var$z(f7, u19);\n}\nfunction $fb96b826c0c5f37a$export$fa8d919ba61d84db(n33, l17) {\n $fb96b826c0c5f37a$export$b3890eb0ae9dca99(n33, l17, $fb96b826c0c5f37a$export$fa8d919ba61d84db);\n}\nfunction $fb96b826c0c5f37a$export$e530037191fcd5d7(l18, u20, i14) {\n var t13, r13, o9, f8 = $fb96b826c0c5f37a$var$a({}, l18.props);\n for(o9 in u20)\"key\" == o9 ? t13 = u20[o9] : \"ref\" == o9 ? r13 = u20[o9] : f8[o9] = u20[o9];\n return arguments.length > 2 && (f8.children = arguments.length > 3 ? $fb96b826c0c5f37a$var$n.call(arguments, 2) : i14), $fb96b826c0c5f37a$var$y(l18.type, f8, t13 || l18.key, r13 || l18.ref, null);\n}\nfunction $fb96b826c0c5f37a$export$fd42f52fd3ae1109(n34, l19) {\n var u21 = {\n __c: l19 = \"__cC\" + $fb96b826c0c5f37a$var$f++,\n __: n34,\n Consumer: function(n35, l20) {\n return n35.children(l20);\n },\n Provider: function(n36) {\n var u22, i15;\n return this.getChildContext || (u22 = [], (i15 = {})[l19] = this, this.getChildContext = function() {\n return i15;\n }, this.shouldComponentUpdate = function(n37) {\n this.props.value !== n37.value && u22.some($fb96b826c0c5f37a$var$m);\n }, this.sub = function(n38) {\n u22.push(n38);\n var l21 = n38.componentWillUnmount;\n n38.componentWillUnmount = function() {\n u22.splice(u22.indexOf(n38), 1), l21 && l21.call(n38);\n };\n }), n36.children;\n }\n };\n return u21.Provider.__ = u21.Consumer.contextType = u21;\n}\n$fb96b826c0c5f37a$var$n = $fb96b826c0c5f37a$var$c.slice, $fb96b826c0c5f37a$export$41c562ebe57d11e2 = {\n __e: function(n39, l22) {\n for(var u23, i16, t14; l22 = l22.__;)if ((u23 = l22.__c) && !u23.__) try {\n if ((i16 = u23.constructor) && null != i16.getDerivedStateFromError && (u23.setState(i16.getDerivedStateFromError(n39)), t14 = u23.__d), null != u23.componentDidCatch && (u23.componentDidCatch(n39), t14 = u23.__d), t14) return u23.__E = u23;\n } catch (l23) {\n n39 = l23;\n }\n throw n39;\n }\n}, $fb96b826c0c5f37a$var$u = 0, $fb96b826c0c5f37a$export$a8257692ac88316c = function(n40) {\n return null != n40 && void 0 === n40.constructor;\n}, $fb96b826c0c5f37a$export$16fa2f45be04daa8.prototype.setState = function(n41, l24) {\n var u24;\n u24 = null != this.__s && this.__s !== this.state ? this.__s : this.__s = $fb96b826c0c5f37a$var$a({}, this.state), \"function\" == typeof n41 && (n41 = n41($fb96b826c0c5f37a$var$a({}, u24), this.props)), n41 && $fb96b826c0c5f37a$var$a(u24, n41), null != n41 && this.__v && (l24 && this.__h.push(l24), $fb96b826c0c5f37a$var$m(this));\n}, $fb96b826c0c5f37a$export$16fa2f45be04daa8.prototype.forceUpdate = function(n42) {\n this.__v && (this.__e = !0, n42 && this.__h.push(n42), $fb96b826c0c5f37a$var$m(this));\n}, $fb96b826c0c5f37a$export$16fa2f45be04daa8.prototype.render = $fb96b826c0c5f37a$export$ffb0004e005737fa, $fb96b826c0c5f37a$var$t = [], $fb96b826c0c5f37a$var$r = \"function\" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, $fb96b826c0c5f37a$var$g.__r = 0, $fb96b826c0c5f37a$var$f = 0;\n\n\n\nvar $bd9dd35321b03dd4$var$o = 0;\nfunction $bd9dd35321b03dd4$export$34b9dba7ce09269b(_1, e1, n, t, f) {\n var l, s, u = {};\n for(s in e1)\"ref\" == s ? l = e1[s] : u[s] = e1[s];\n var a = {\n type: _1,\n props: u,\n key: n,\n ref: l,\n __k: null,\n __: null,\n __b: 0,\n __e: null,\n __d: void 0,\n __c: null,\n __h: null,\n constructor: void 0,\n __v: --$bd9dd35321b03dd4$var$o,\n __source: t,\n __self: f\n };\n if (\"function\" == typeof _1 && (l = _1.defaultProps)) for(s in l)void 0 === u[s] && (u[s] = l[s]);\n return (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).vnode && (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).vnode(a), a;\n}\n\n\n\nfunction $f72b75cf796873c7$var$set(key, value) {\n try {\n window.localStorage[`emoji-mart.${key}`] = JSON.stringify(value);\n } catch (error) {}\n}\nfunction $f72b75cf796873c7$var$get(key) {\n try {\n const value = window.localStorage[`emoji-mart.${key}`];\n if (value) return JSON.parse(value);\n } catch (error) {}\n}\nvar $f72b75cf796873c7$export$2e2bcd8739ae039 = {\n set: $f72b75cf796873c7$var$set,\n get: $f72b75cf796873c7$var$get\n};\n\n\nconst $c84d045dcc34faf5$var$CACHE = new Map();\nconst $c84d045dcc34faf5$var$VERSIONS = [\n {\n v: 15,\n emoji: \"\\uD83E\\uDEE8\"\n },\n {\n v: 14,\n emoji: \"\\uD83E\\uDEE0\"\n },\n {\n v: 13.1,\n emoji: \"\\uD83D\\uDE36\\u200D\\uD83C\\uDF2B\\uFE0F\"\n },\n {\n v: 13,\n emoji: \"\\uD83E\\uDD78\"\n },\n {\n v: 12.1,\n emoji: \"\\uD83E\\uDDD1\\u200D\\uD83E\\uDDB0\"\n },\n {\n v: 12,\n emoji: \"\\uD83E\\uDD71\"\n },\n {\n v: 11,\n emoji: \"\\uD83E\\uDD70\"\n },\n {\n v: 5,\n emoji: \"\\uD83E\\uDD29\"\n },\n {\n v: 4,\n emoji: \"\\uD83D\\uDC71\\u200D\\u2640\\uFE0F\"\n },\n {\n v: 3,\n emoji: \"\\uD83E\\uDD23\"\n },\n {\n v: 2,\n emoji: \"\\uD83D\\uDC4B\\uD83C\\uDFFB\"\n },\n {\n v: 1,\n emoji: \"\\uD83D\\uDE43\"\n }, \n];\nfunction $c84d045dcc34faf5$var$latestVersion() {\n for (const { v: v , emoji: emoji } of $c84d045dcc34faf5$var$VERSIONS){\n if ($c84d045dcc34faf5$var$isSupported(emoji)) return v;\n }\n}\nfunction $c84d045dcc34faf5$var$noCountryFlags() {\n if ($c84d045dcc34faf5$var$isSupported(\"\\uD83C\\uDDE8\\uD83C\\uDDE6\")) return false;\n return true;\n}\nfunction $c84d045dcc34faf5$var$isSupported(emoji) {\n if ($c84d045dcc34faf5$var$CACHE.has(emoji)) return $c84d045dcc34faf5$var$CACHE.get(emoji);\n const supported = $c84d045dcc34faf5$var$isEmojiSupported(emoji);\n $c84d045dcc34faf5$var$CACHE.set(emoji, supported);\n return supported;\n}\n// https://github.com/koala-interactive/is-emoji-supported\nconst $c84d045dcc34faf5$var$isEmojiSupported = (()=>{\n let ctx = null;\n try {\n if (!navigator.userAgent.includes(\"jsdom\")) ctx = document.createElement(\"canvas\").getContext(\"2d\", {\n willReadFrequently: true\n });\n } catch {}\n // Not in browser env\n if (!ctx) return ()=>false;\n const CANVAS_HEIGHT = 25;\n const CANVAS_WIDTH = 20;\n const textSize = Math.floor(CANVAS_HEIGHT / 2);\n // Initialize convas context\n ctx.font = textSize + \"px Arial, Sans-Serif\";\n ctx.textBaseline = \"top\";\n ctx.canvas.width = CANVAS_WIDTH * 2;\n ctx.canvas.height = CANVAS_HEIGHT;\n return (unicode)=>{\n ctx.clearRect(0, 0, CANVAS_WIDTH * 2, CANVAS_HEIGHT);\n // Draw in red on the left\n ctx.fillStyle = \"#FF0000\";\n ctx.fillText(unicode, 0, 22);\n // Draw in blue on right\n ctx.fillStyle = \"#0000FF\";\n ctx.fillText(unicode, CANVAS_WIDTH, 22);\n const a = ctx.getImageData(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT).data;\n const count = a.length;\n let i = 0;\n // Search the first visible pixel\n for(; i < count && !a[i + 3]; i += 4);\n // No visible pixel\n if (i >= count) return false;\n // Emoji has immutable color, so we check the color of the emoji in two different colors\n // the result show be the same.\n const x = CANVAS_WIDTH + i / 4 % CANVAS_WIDTH;\n const y = Math.floor(i / 4 / CANVAS_WIDTH);\n const b = ctx.getImageData(x, y, 1, 1).data;\n if (a[i] !== b[0] || a[i + 2] !== b[2]) return false;\n // Some emojis are a contraction of different ones, so if it's not\n // supported, it will show multiple characters\n if (ctx.measureText(unicode).width >= CANVAS_WIDTH) return false;\n // Supported\n return true;\n };\n})();\nvar $c84d045dcc34faf5$export$2e2bcd8739ae039 = {\n latestVersion: $c84d045dcc34faf5$var$latestVersion,\n noCountryFlags: $c84d045dcc34faf5$var$noCountryFlags\n};\n\n\n\nconst $b22cfd0a55410b4f$var$DEFAULTS = [\n \"+1\",\n \"grinning\",\n \"kissing_heart\",\n \"heart_eyes\",\n \"laughing\",\n \"stuck_out_tongue_winking_eye\",\n \"sweat_smile\",\n \"joy\",\n \"scream\",\n \"disappointed\",\n \"unamused\",\n \"weary\",\n \"sob\",\n \"sunglasses\",\n \"heart\", \n];\nlet $b22cfd0a55410b4f$var$Index = null;\nfunction $b22cfd0a55410b4f$var$add(emoji) {\n $b22cfd0a55410b4f$var$Index || ($b22cfd0a55410b4f$var$Index = (0, $f72b75cf796873c7$export$2e2bcd8739ae039).get(\"frequently\") || {});\n const emojiId = emoji.id || emoji;\n if (!emojiId) return;\n $b22cfd0a55410b4f$var$Index[emojiId] || ($b22cfd0a55410b4f$var$Index[emojiId] = 0);\n $b22cfd0a55410b4f$var$Index[emojiId] += 1;\n (0, $f72b75cf796873c7$export$2e2bcd8739ae039).set(\"last\", emojiId);\n (0, $f72b75cf796873c7$export$2e2bcd8739ae039).set(\"frequently\", $b22cfd0a55410b4f$var$Index);\n}\nfunction $b22cfd0a55410b4f$var$get({ maxFrequentRows: maxFrequentRows , perLine: perLine }) {\n if (!maxFrequentRows) return [];\n $b22cfd0a55410b4f$var$Index || ($b22cfd0a55410b4f$var$Index = (0, $f72b75cf796873c7$export$2e2bcd8739ae039).get(\"frequently\"));\n let emojiIds = [];\n if (!$b22cfd0a55410b4f$var$Index) {\n $b22cfd0a55410b4f$var$Index = {};\n for(let i in $b22cfd0a55410b4f$var$DEFAULTS.slice(0, perLine)){\n const emojiId = $b22cfd0a55410b4f$var$DEFAULTS[i];\n $b22cfd0a55410b4f$var$Index[emojiId] = perLine - i;\n emojiIds.push(emojiId);\n }\n return emojiIds;\n }\n const max = maxFrequentRows * perLine;\n const last = (0, $f72b75cf796873c7$export$2e2bcd8739ae039).get(\"last\");\n for(let emojiId in $b22cfd0a55410b4f$var$Index)emojiIds.push(emojiId);\n emojiIds.sort((a, b)=>{\n const aScore = $b22cfd0a55410b4f$var$Index[b];\n const bScore = $b22cfd0a55410b4f$var$Index[a];\n if (aScore == bScore) return a.localeCompare(b);\n return aScore - bScore;\n });\n if (emojiIds.length > max) {\n const removedIds = emojiIds.slice(max);\n emojiIds = emojiIds.slice(0, max);\n for (let removedId of removedIds){\n if (removedId == last) continue;\n delete $b22cfd0a55410b4f$var$Index[removedId];\n }\n if (last && emojiIds.indexOf(last) == -1) {\n delete $b22cfd0a55410b4f$var$Index[emojiIds[emojiIds.length - 1]];\n emojiIds.splice(-1, 1, last);\n }\n (0, $f72b75cf796873c7$export$2e2bcd8739ae039).set(\"frequently\", $b22cfd0a55410b4f$var$Index);\n }\n return emojiIds;\n}\nvar $b22cfd0a55410b4f$export$2e2bcd8739ae039 = {\n add: $b22cfd0a55410b4f$var$add,\n get: $b22cfd0a55410b4f$var$get,\n DEFAULTS: $b22cfd0a55410b4f$var$DEFAULTS\n};\n\n\nvar $8d50d93417ef682a$exports = {};\n$8d50d93417ef682a$exports = JSON.parse('{\"search\":\"Search\",\"search_no_results_1\":\"Oh no!\",\"search_no_results_2\":\"That emoji couldn\\u2019t be found\",\"pick\":\"Pick an emoji\\u2026\",\"add_custom\":\"Add custom emoji\",\"categories\":{\"activity\":\"Activity\",\"custom\":\"Custom\",\"flags\":\"Flags\",\"foods\":\"Food & Drink\",\"frequent\":\"Frequently used\",\"nature\":\"Animals & Nature\",\"objects\":\"Objects\",\"people\":\"Smileys & People\",\"places\":\"Travel & Places\",\"search\":\"Search Results\",\"symbols\":\"Symbols\"},\"skins\":{\"1\":\"Default\",\"2\":\"Light\",\"3\":\"Medium-Light\",\"4\":\"Medium\",\"5\":\"Medium-Dark\",\"6\":\"Dark\",\"choose\":\"Choose default skin tone\"}}');\n\n\nvar $b247ea80b67298d5$export$2e2bcd8739ae039 = {\n autoFocus: {\n value: false\n },\n dynamicWidth: {\n value: false\n },\n emojiButtonColors: {\n value: null\n },\n emojiButtonRadius: {\n value: \"100%\"\n },\n emojiButtonSize: {\n value: 36\n },\n emojiSize: {\n value: 24\n },\n emojiVersion: {\n value: 15,\n choices: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 11,\n 12,\n 12.1,\n 13,\n 13.1,\n 14,\n 15\n ]\n },\n exceptEmojis: {\n value: []\n },\n icons: {\n value: \"auto\",\n choices: [\n \"auto\",\n \"outline\",\n \"solid\"\n ]\n },\n locale: {\n value: \"en\",\n choices: [\n \"en\",\n \"ar\",\n \"be\",\n \"cs\",\n \"de\",\n \"es\",\n \"fa\",\n \"fi\",\n \"fr\",\n \"hi\",\n \"it\",\n \"ja\",\n \"ko\",\n \"nl\",\n \"pl\",\n \"pt\",\n \"ru\",\n \"sa\",\n \"tr\",\n \"uk\",\n \"vi\",\n \"zh\", \n ]\n },\n maxFrequentRows: {\n value: 4\n },\n navPosition: {\n value: \"top\",\n choices: [\n \"top\",\n \"bottom\",\n \"none\"\n ]\n },\n noCountryFlags: {\n value: false\n },\n noResultsEmoji: {\n value: null\n },\n perLine: {\n value: 9\n },\n previewEmoji: {\n value: null\n },\n previewPosition: {\n value: \"bottom\",\n choices: [\n \"top\",\n \"bottom\",\n \"none\"\n ]\n },\n searchPosition: {\n value: \"sticky\",\n choices: [\n \"sticky\",\n \"static\",\n \"none\"\n ]\n },\n set: {\n value: \"native\",\n choices: [\n \"native\",\n \"apple\",\n \"facebook\",\n \"google\",\n \"twitter\"\n ]\n },\n skin: {\n value: 1,\n choices: [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6\n ]\n },\n skinTonePosition: {\n value: \"preview\",\n choices: [\n \"preview\",\n \"search\",\n \"none\"\n ]\n },\n theme: {\n value: \"auto\",\n choices: [\n \"auto\",\n \"light\",\n \"dark\"\n ]\n },\n // Data\n categories: null,\n categoryIcons: null,\n custom: null,\n data: null,\n i18n: null,\n // Callbacks\n getImageURL: null,\n getSpritesheetURL: null,\n onAddCustomEmoji: null,\n onClickOutside: null,\n onEmojiSelect: null,\n // Deprecated\n stickySearch: {\n deprecated: true,\n value: true\n }\n};\n\n\n\nlet $7adb23b0109cc36a$export$dbe3113d60765c1a = null;\nlet $7adb23b0109cc36a$export$2d0294657ab35f1b = null;\nconst $7adb23b0109cc36a$var$fetchCache = {};\nasync function $7adb23b0109cc36a$var$fetchJSON(src) {\n if ($7adb23b0109cc36a$var$fetchCache[src]) return $7adb23b0109cc36a$var$fetchCache[src];\n const response = await fetch(src);\n const json = await response.json();\n $7adb23b0109cc36a$var$fetchCache[src] = json;\n return json;\n}\nlet $7adb23b0109cc36a$var$promise = null;\nlet $7adb23b0109cc36a$var$initiated = false;\nlet $7adb23b0109cc36a$var$initCallback = null;\nlet $7adb23b0109cc36a$var$initialized = false;\nfunction $7adb23b0109cc36a$export$2cd8252107eb640b(options, { caller: caller } = {}) {\n $7adb23b0109cc36a$var$promise || ($7adb23b0109cc36a$var$promise = new Promise((resolve)=>{\n $7adb23b0109cc36a$var$initCallback = resolve;\n }));\n if (options) $7adb23b0109cc36a$var$_init(options);\n else if (caller && !$7adb23b0109cc36a$var$initialized) console.warn(`\\`${caller}\\` requires data to be initialized first. Promise will be pending until \\`init\\` is called.`);\n return $7adb23b0109cc36a$var$promise;\n}\nasync function $7adb23b0109cc36a$var$_init(props) {\n $7adb23b0109cc36a$var$initialized = true;\n let { emojiVersion: emojiVersion , set: set , locale: locale } = props;\n emojiVersion || (emojiVersion = (0, $b247ea80b67298d5$export$2e2bcd8739ae039).emojiVersion.value);\n set || (set = (0, $b247ea80b67298d5$export$2e2bcd8739ae039).set.value);\n locale || (locale = (0, $b247ea80b67298d5$export$2e2bcd8739ae039).locale.value);\n if (!$7adb23b0109cc36a$export$2d0294657ab35f1b) {\n $7adb23b0109cc36a$export$2d0294657ab35f1b = (typeof props.data === \"function\" ? await props.data() : props.data) || await $7adb23b0109cc36a$var$fetchJSON(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/sets/${emojiVersion}/${set}.json`);\n $7adb23b0109cc36a$export$2d0294657ab35f1b.emoticons = {};\n $7adb23b0109cc36a$export$2d0294657ab35f1b.natives = {};\n $7adb23b0109cc36a$export$2d0294657ab35f1b.categories.unshift({\n id: \"frequent\",\n emojis: []\n });\n for(const alias in $7adb23b0109cc36a$export$2d0294657ab35f1b.aliases){\n const emojiId = $7adb23b0109cc36a$export$2d0294657ab35f1b.aliases[alias];\n const emoji = $7adb23b0109cc36a$export$2d0294657ab35f1b.emojis[emojiId];\n if (!emoji) continue;\n emoji.aliases || (emoji.aliases = []);\n emoji.aliases.push(alias);\n }\n $7adb23b0109cc36a$export$2d0294657ab35f1b.originalCategories = $7adb23b0109cc36a$export$2d0294657ab35f1b.categories;\n } else $7adb23b0109cc36a$export$2d0294657ab35f1b.categories = $7adb23b0109cc36a$export$2d0294657ab35f1b.categories.filter((c)=>{\n const isCustom = !!c.name;\n if (!isCustom) return true;\n return false;\n });\n $7adb23b0109cc36a$export$dbe3113d60765c1a = (typeof props.i18n === \"function\" ? await props.i18n() : props.i18n) || (locale == \"en\" ? (0, (/*@__PURE__*/$parcel$interopDefault($8d50d93417ef682a$exports))) : await $7adb23b0109cc36a$var$fetchJSON(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/i18n/${locale}.json`));\n if (props.custom) for(let i in props.custom){\n i = parseInt(i);\n const category = props.custom[i];\n const prevCategory = props.custom[i - 1];\n if (!category.emojis || !category.emojis.length) continue;\n category.id || (category.id = `custom_${i + 1}`);\n category.name || (category.name = $7adb23b0109cc36a$export$dbe3113d60765c1a.categories.custom);\n if (prevCategory && !category.icon) category.target = prevCategory.target || prevCategory;\n $7adb23b0109cc36a$export$2d0294657ab35f1b.categories.push(category);\n for (const emoji of category.emojis)$7adb23b0109cc36a$export$2d0294657ab35f1b.emojis[emoji.id] = emoji;\n }\n if (props.categories) $7adb23b0109cc36a$export$2d0294657ab35f1b.categories = $7adb23b0109cc36a$export$2d0294657ab35f1b.originalCategories.filter((c)=>{\n return props.categories.indexOf(c.id) != -1;\n }).sort((c1, c2)=>{\n const i1 = props.categories.indexOf(c1.id);\n const i2 = props.categories.indexOf(c2.id);\n return i1 - i2;\n });\n let latestVersionSupport = null;\n let noCountryFlags = null;\n if (set == \"native\") {\n latestVersionSupport = (0, $c84d045dcc34faf5$export$2e2bcd8739ae039).latestVersion();\n noCountryFlags = props.noCountryFlags || (0, $c84d045dcc34faf5$export$2e2bcd8739ae039).noCountryFlags();\n }\n let categoryIndex = $7adb23b0109cc36a$export$2d0294657ab35f1b.categories.length;\n let resetSearchIndex = false;\n while(categoryIndex--){\n const category = $7adb23b0109cc36a$export$2d0294657ab35f1b.categories[categoryIndex];\n if (category.id == \"frequent\") {\n let { maxFrequentRows: maxFrequentRows , perLine: perLine } = props;\n maxFrequentRows = maxFrequentRows >= 0 ? maxFrequentRows : (0, $b247ea80b67298d5$export$2e2bcd8739ae039).maxFrequentRows.value;\n perLine || (perLine = (0, $b247ea80b67298d5$export$2e2bcd8739ae039).perLine.value);\n category.emojis = (0, $b22cfd0a55410b4f$export$2e2bcd8739ae039).get({\n maxFrequentRows: maxFrequentRows,\n perLine: perLine\n });\n }\n if (!category.emojis || !category.emojis.length) {\n $7adb23b0109cc36a$export$2d0294657ab35f1b.categories.splice(categoryIndex, 1);\n continue;\n }\n const { categoryIcons: categoryIcons } = props;\n if (categoryIcons) {\n const icon = categoryIcons[category.id];\n if (icon && !category.icon) category.icon = icon;\n }\n let emojiIndex = category.emojis.length;\n while(emojiIndex--){\n const emojiId = category.emojis[emojiIndex];\n const emoji = emojiId.id ? emojiId : $7adb23b0109cc36a$export$2d0294657ab35f1b.emojis[emojiId];\n const ignore = ()=>{\n category.emojis.splice(emojiIndex, 1);\n };\n if (!emoji || props.exceptEmojis && props.exceptEmojis.includes(emoji.id)) {\n ignore();\n continue;\n }\n if (latestVersionSupport && emoji.version > latestVersionSupport) {\n ignore();\n continue;\n }\n if (noCountryFlags && category.id == \"flags\") {\n if (!(0, $e6eae5155b87f591$export$bcb25aa587e9cb13).includes(emoji.id)) {\n ignore();\n continue;\n }\n }\n if (!emoji.search) {\n resetSearchIndex = true;\n emoji.search = \",\" + [\n [\n emoji.id,\n false\n ],\n [\n emoji.name,\n true\n ],\n [\n emoji.keywords,\n false\n ],\n [\n emoji.emoticons,\n false\n ], \n ].map(([strings, split])=>{\n if (!strings) return;\n return (Array.isArray(strings) ? strings : [\n strings\n ]).map((string)=>{\n return (split ? string.split(/[-|_|\\s]+/) : [\n string\n ]).map((s)=>s.toLowerCase());\n }).flat();\n }).flat().filter((a)=>a && a.trim()).join(\",\");\n if (emoji.emoticons) for (const emoticon of emoji.emoticons){\n if ($7adb23b0109cc36a$export$2d0294657ab35f1b.emoticons[emoticon]) continue;\n $7adb23b0109cc36a$export$2d0294657ab35f1b.emoticons[emoticon] = emoji.id;\n }\n let skinIndex = 0;\n for (const skin of emoji.skins){\n if (!skin) continue;\n skinIndex++;\n const { native: native } = skin;\n if (native) {\n $7adb23b0109cc36a$export$2d0294657ab35f1b.natives[native] = emoji.id;\n emoji.search += `,${native}`;\n }\n const skinShortcodes = skinIndex == 1 ? \"\" : `:skin-tone-${skinIndex}:`;\n skin.shortcodes = `:${emoji.id}:${skinShortcodes}`;\n }\n }\n }\n }\n if (resetSearchIndex) (0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).reset();\n $7adb23b0109cc36a$var$initCallback();\n}\nfunction $7adb23b0109cc36a$export$75fe5f91d452f94b(props, defaultProps, element) {\n props || (props = {});\n const _props = {};\n for(let k in defaultProps)_props[k] = $7adb23b0109cc36a$export$88c9ddb45cea7241(k, props, defaultProps, element);\n return _props;\n}\nfunction $7adb23b0109cc36a$export$88c9ddb45cea7241(propName, props, defaultProps, element) {\n const defaults = defaultProps[propName];\n let value = element && element.getAttribute(propName) || (props[propName] != null && props[propName] != undefined ? props[propName] : null);\n if (!defaults) return value;\n if (value != null && defaults.value && typeof defaults.value != typeof value) {\n if (typeof defaults.value == \"boolean\") value = value == \"false\" ? false : true;\n else value = defaults.value.constructor(value);\n }\n if (defaults.transform && value) value = defaults.transform(value);\n if (value == null || defaults.choices && defaults.choices.indexOf(value) == -1) value = defaults.value;\n return value;\n}\n\n\nconst $c4d155af13ad4d4b$var$SHORTCODES_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/;\nlet $c4d155af13ad4d4b$var$Pool = null;\nfunction $c4d155af13ad4d4b$var$get(emojiId) {\n if (emojiId.id) return emojiId;\n return (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).emojis[emojiId] || (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).emojis[(0, $7adb23b0109cc36a$export$2d0294657ab35f1b).aliases[emojiId]] || (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).emojis[(0, $7adb23b0109cc36a$export$2d0294657ab35f1b).natives[emojiId]];\n}\nfunction $c4d155af13ad4d4b$var$reset() {\n $c4d155af13ad4d4b$var$Pool = null;\n}\nasync function $c4d155af13ad4d4b$var$search(value, { maxResults: maxResults , caller: caller } = {}) {\n if (!value || !value.trim().length) return null;\n maxResults || (maxResults = 90);\n await (0, $7adb23b0109cc36a$export$2cd8252107eb640b)(null, {\n caller: caller || \"SearchIndex.search\"\n });\n const values = value.toLowerCase().replace(/(\\w)-/, \"$1 \").split(/[\\s|,]+/).filter((word, i, words)=>{\n return word.trim() && words.indexOf(word) == i;\n });\n if (!values.length) return;\n let pool = $c4d155af13ad4d4b$var$Pool || ($c4d155af13ad4d4b$var$Pool = Object.values((0, $7adb23b0109cc36a$export$2d0294657ab35f1b).emojis));\n let results, scores;\n for (const value1 of values){\n if (!pool.length) break;\n results = [];\n scores = {};\n for (const emoji of pool){\n if (!emoji.search) continue;\n const score = emoji.search.indexOf(`,${value1}`);\n if (score == -1) continue;\n results.push(emoji);\n scores[emoji.id] || (scores[emoji.id] = 0);\n scores[emoji.id] += emoji.id == value1 ? 0 : score + 1;\n }\n pool = results;\n }\n if (results.length < 2) return results;\n results.sort((a, b)=>{\n const aScore = scores[a.id];\n const bScore = scores[b.id];\n if (aScore == bScore) return a.id.localeCompare(b.id);\n return aScore - bScore;\n });\n if (results.length > maxResults) results = results.slice(0, maxResults);\n return results;\n}\nvar $c4d155af13ad4d4b$export$2e2bcd8739ae039 = {\n search: $c4d155af13ad4d4b$var$search,\n get: $c4d155af13ad4d4b$var$get,\n reset: $c4d155af13ad4d4b$var$reset,\n SHORTCODES_REGEX: $c4d155af13ad4d4b$var$SHORTCODES_REGEX\n};\n\n\nconst $e6eae5155b87f591$export$bcb25aa587e9cb13 = [\n \"checkered_flag\",\n \"crossed_flags\",\n \"pirate_flag\",\n \"rainbow-flag\",\n \"transgender_flag\",\n \"triangular_flag_on_post\",\n \"waving_black_flag\",\n \"waving_white_flag\", \n];\n\n\nfunction $693b183b0a78708f$export$9cb4719e2e525b7a(a, b) {\n return Array.isArray(a) && Array.isArray(b) && a.length === b.length && a.every((val, index)=>val == b[index]);\n}\nasync function $693b183b0a78708f$export$e772c8ff12451969(frames = 1) {\n for(let _ in [\n ...Array(frames).keys()\n ])await new Promise(requestAnimationFrame);\n}\nfunction $693b183b0a78708f$export$d10ac59fbe52a745(emoji, { skinIndex: skinIndex = 0 } = {}) {\n const skin = emoji.skins[skinIndex] || (()=>{\n skinIndex = 0;\n return emoji.skins[skinIndex];\n })();\n const emojiData = {\n id: emoji.id,\n name: emoji.name,\n native: skin.native,\n unified: skin.unified,\n keywords: emoji.keywords,\n shortcodes: skin.shortcodes || emoji.shortcodes\n };\n if (emoji.skins.length > 1) emojiData.skin = skinIndex + 1;\n if (skin.src) emojiData.src = skin.src;\n if (emoji.aliases && emoji.aliases.length) emojiData.aliases = emoji.aliases;\n if (emoji.emoticons && emoji.emoticons.length) emojiData.emoticons = emoji.emoticons;\n return emojiData;\n}\nasync function $693b183b0a78708f$export$5ef5574deca44bc0(nativeString) {\n const results = await (0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).search(nativeString, {\n maxResults: 1,\n caller: \"getEmojiDataFromNative\"\n });\n if (!results || !results.length) return null;\n const emoji = results[0];\n let skinIndex = 0;\n for (let skin of emoji.skins){\n if (skin.native == nativeString) break;\n skinIndex++;\n }\n return $693b183b0a78708f$export$d10ac59fbe52a745(emoji, {\n skinIndex: skinIndex\n });\n}\n\n\n\n\n\nconst $fcccfb36ed0cde68$var$categories = {\n activity: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113\"\n })\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M16.17 337.5c0 44.98 7.565 83.54 13.98 107.9C35.22 464.3 50.46 496 174.9 496c9.566 0 19.59-.4707 29.84-1.271L17.33 307.3C16.53 317.6 16.17 327.7 16.17 337.5zM495.8 174.5c0-44.98-7.565-83.53-13.98-107.9c-4.688-17.54-18.34-31.23-36.04-35.95C435.5 27.91 392.9 16 337 16c-9.564 0-19.59 .4707-29.84 1.271l187.5 187.5C495.5 194.4 495.8 184.3 495.8 174.5zM26.77 248.8l236.3 236.3c142-36.1 203.9-150.4 222.2-221.1L248.9 26.87C106.9 62.96 45.07 177.2 26.77 248.8zM256 335.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L164.7 283.3C161.6 280.2 160 276.1 160 271.1c0-8.529 6.865-16 16-16c4.095 0 8.189 1.562 11.31 4.688l64.01 64C254.4 327.8 256 331.9 256 335.1zM304 287.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L212.7 235.3C209.6 232.2 208 228.1 208 223.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01C302.5 279.8 304 283.9 304 287.1zM256 175.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01c3.125 3.125 4.688 7.219 4.688 11.31c0 9.133-7.468 16-16 16c-4.094 0-8.189-1.562-11.31-4.688l-64.01-64.01C257.6 184.2 256 180.1 256 175.1z\"\n })\n })\n },\n custom: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 448 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M417.1 368c-5.937 10.27-16.69 16-27.75 16c-5.422 0-10.92-1.375-15.97-4.281L256 311.4V448c0 17.67-14.33 32-31.1 32S192 465.7 192 448V311.4l-118.3 68.29C68.67 382.6 63.17 384 57.75 384c-11.06 0-21.81-5.734-27.75-16c-8.828-15.31-3.594-34.88 11.72-43.72L159.1 256L41.72 187.7C26.41 178.9 21.17 159.3 29.1 144C36.63 132.5 49.26 126.7 61.65 128.2C65.78 128.7 69.88 130.1 73.72 132.3L192 200.6V64c0-17.67 14.33-32 32-32S256 46.33 256 64v136.6l118.3-68.29c3.838-2.213 7.939-3.539 12.07-4.051C398.7 126.7 411.4 132.5 417.1 144c8.828 15.31 3.594 34.88-11.72 43.72L288 256l118.3 68.28C421.6 333.1 426.8 352.7 417.1 368z\"\n })\n }),\n flags: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z\"\n })\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M64 496C64 504.8 56.75 512 48 512h-32C7.25 512 0 504.8 0 496V32c0-17.75 14.25-32 32-32s32 14.25 32 32V496zM476.3 0c-6.365 0-13.01 1.35-19.34 4.233c-45.69 20.86-79.56 27.94-107.8 27.94c-59.96 0-94.81-31.86-163.9-31.87C160.9 .3055 131.6 4.867 96 15.75v350.5c32-9.984 59.87-14.1 84.85-14.1c73.63 0 124.9 31.78 198.6 31.78c31.91 0 68.02-5.971 111.1-23.09C504.1 355.9 512 344.4 512 332.1V30.73C512 11.1 495.3 0 476.3 0z\"\n })\n })\n },\n foods: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9\"\n })\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M481.9 270.1C490.9 279.1 496 291.3 496 304C496 316.7 490.9 328.9 481.9 337.9C472.9 346.9 460.7 352 448 352H64C51.27 352 39.06 346.9 30.06 337.9C21.06 328.9 16 316.7 16 304C16 291.3 21.06 279.1 30.06 270.1C39.06 261.1 51.27 256 64 256H448C460.7 256 472.9 261.1 481.9 270.1zM475.3 388.7C478.3 391.7 480 395.8 480 400V416C480 432.1 473.3 449.3 461.3 461.3C449.3 473.3 432.1 480 416 480H96C79.03 480 62.75 473.3 50.75 461.3C38.74 449.3 32 432.1 32 416V400C32 395.8 33.69 391.7 36.69 388.7C39.69 385.7 43.76 384 48 384H464C468.2 384 472.3 385.7 475.3 388.7zM50.39 220.8C45.93 218.6 42.03 215.5 38.97 211.6C35.91 207.7 33.79 203.2 32.75 198.4C31.71 193.5 31.8 188.5 32.99 183.7C54.98 97.02 146.5 32 256 32C365.5 32 457 97.02 479 183.7C480.2 188.5 480.3 193.5 479.2 198.4C478.2 203.2 476.1 207.7 473 211.6C469.1 215.5 466.1 218.6 461.6 220.8C457.2 222.9 452.3 224 447.3 224H64.67C59.73 224 54.84 222.9 50.39 220.8zM372.7 116.7C369.7 119.7 368 123.8 368 128C368 131.2 368.9 134.3 370.7 136.9C372.5 139.5 374.1 141.6 377.9 142.8C380.8 143.1 384 144.3 387.1 143.7C390.2 143.1 393.1 141.6 395.3 139.3C397.6 137.1 399.1 134.2 399.7 131.1C400.3 128 399.1 124.8 398.8 121.9C397.6 118.1 395.5 116.5 392.9 114.7C390.3 112.9 387.2 111.1 384 111.1C379.8 111.1 375.7 113.7 372.7 116.7V116.7zM244.7 84.69C241.7 87.69 240 91.76 240 96C240 99.16 240.9 102.3 242.7 104.9C244.5 107.5 246.1 109.6 249.9 110.8C252.8 111.1 256 112.3 259.1 111.7C262.2 111.1 265.1 109.6 267.3 107.3C269.6 105.1 271.1 102.2 271.7 99.12C272.3 96.02 271.1 92.8 270.8 89.88C269.6 86.95 267.5 84.45 264.9 82.7C262.3 80.94 259.2 79.1 256 79.1C251.8 79.1 247.7 81.69 244.7 84.69V84.69zM116.7 116.7C113.7 119.7 112 123.8 112 128C112 131.2 112.9 134.3 114.7 136.9C116.5 139.5 118.1 141.6 121.9 142.8C124.8 143.1 128 144.3 131.1 143.7C134.2 143.1 137.1 141.6 139.3 139.3C141.6 137.1 143.1 134.2 143.7 131.1C144.3 128 143.1 124.8 142.8 121.9C141.6 118.1 139.5 116.5 136.9 114.7C134.3 112.9 131.2 111.1 128 111.1C123.8 111.1 119.7 113.7 116.7 116.7L116.7 116.7z\"\n })\n })\n },\n frequent: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"\n })\n ]\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512zM232 256C232 264 236 271.5 242.7 275.1L338.7 339.1C349.7 347.3 364.6 344.3 371.1 333.3C379.3 322.3 376.3 307.4 365.3 300L280 243.2V120C280 106.7 269.3 96 255.1 96C242.7 96 231.1 106.7 231.1 120L232 256z\"\n })\n })\n },\n nature: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235\"\n })\n ]\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 576 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M332.7 19.85C334.6 8.395 344.5 0 356.1 0C363.6 0 370.6 3.52 375.1 9.502L392 32H444.1C456.8 32 469.1 37.06 478.1 46.06L496 64H552C565.3 64 576 74.75 576 88V112C576 156.2 540.2 192 496 192H426.7L421.6 222.5L309.6 158.5L332.7 19.85zM448 64C439.2 64 432 71.16 432 80C432 88.84 439.2 96 448 96C456.8 96 464 88.84 464 80C464 71.16 456.8 64 448 64zM416 256.1V480C416 497.7 401.7 512 384 512H352C334.3 512 320 497.7 320 480V364.8C295.1 377.1 268.8 384 240 384C211.2 384 184 377.1 160 364.8V480C160 497.7 145.7 512 128 512H96C78.33 512 64 497.7 64 480V249.8C35.23 238.9 12.64 214.5 4.836 183.3L.9558 167.8C-3.331 150.6 7.094 133.2 24.24 128.1C41.38 124.7 58.76 135.1 63.05 152.2L66.93 167.8C70.49 182 83.29 191.1 97.97 191.1H303.8L416 256.1z\"\n })\n })\n },\n objects: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789\"\n })\n ]\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 384 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z\"\n })\n })\n },\n people: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0\"\n })\n ]\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 432C332.1 432 396.2 382 415.2 314.1C419.1 300.4 407.8 288 393.6 288H118.4C104.2 288 92.92 300.4 96.76 314.1C115.8 382 179.9 432 256 432V432zM176.4 160C158.7 160 144.4 174.3 144.4 192C144.4 209.7 158.7 224 176.4 224C194 224 208.4 209.7 208.4 192C208.4 174.3 194 160 176.4 160zM336.4 224C354 224 368.4 209.7 368.4 192C368.4 174.3 354 160 336.4 160C318.7 160 304.4 174.3 304.4 192C304.4 209.7 318.7 224 336.4 224z\"\n })\n })\n },\n places: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z\"\n })\n ]\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M39.61 196.8L74.8 96.29C88.27 57.78 124.6 32 165.4 32H346.6C387.4 32 423.7 57.78 437.2 96.29L472.4 196.8C495.6 206.4 512 229.3 512 256V448C512 465.7 497.7 480 480 480H448C430.3 480 416 465.7 416 448V400H96V448C96 465.7 81.67 480 64 480H32C14.33 480 0 465.7 0 448V256C0 229.3 16.36 206.4 39.61 196.8V196.8zM109.1 192H402.9L376.8 117.4C372.3 104.6 360.2 96 346.6 96H165.4C151.8 96 139.7 104.6 135.2 117.4L109.1 192zM96 256C78.33 256 64 270.3 64 288C64 305.7 78.33 320 96 320C113.7 320 128 305.7 128 288C128 270.3 113.7 256 96 256zM416 320C433.7 320 448 305.7 448 288C448 270.3 433.7 256 416 256C398.3 256 384 270.3 384 288C384 305.7 398.3 320 416 320z\"\n })\n })\n },\n symbols: {\n outline: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76\"\n })\n }),\n solid: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 512 512\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M500.3 7.251C507.7 13.33 512 22.41 512 31.1V175.1C512 202.5 483.3 223.1 447.1 223.1C412.7 223.1 383.1 202.5 383.1 175.1C383.1 149.5 412.7 127.1 447.1 127.1V71.03L351.1 90.23V207.1C351.1 234.5 323.3 255.1 287.1 255.1C252.7 255.1 223.1 234.5 223.1 207.1C223.1 181.5 252.7 159.1 287.1 159.1V63.1C287.1 48.74 298.8 35.61 313.7 32.62L473.7 .6198C483.1-1.261 492.9 1.173 500.3 7.251H500.3zM74.66 303.1L86.5 286.2C92.43 277.3 102.4 271.1 113.1 271.1H174.9C185.6 271.1 195.6 277.3 201.5 286.2L213.3 303.1H239.1C266.5 303.1 287.1 325.5 287.1 351.1V463.1C287.1 490.5 266.5 511.1 239.1 511.1H47.1C21.49 511.1-.0019 490.5-.0019 463.1V351.1C-.0019 325.5 21.49 303.1 47.1 303.1H74.66zM143.1 359.1C117.5 359.1 95.1 381.5 95.1 407.1C95.1 434.5 117.5 455.1 143.1 455.1C170.5 455.1 191.1 434.5 191.1 407.1C191.1 381.5 170.5 359.1 143.1 359.1zM440.3 367.1H496C502.7 367.1 508.6 372.1 510.1 378.4C513.3 384.6 511.6 391.7 506.5 396L378.5 508C372.9 512.1 364.6 513.3 358.6 508.9C352.6 504.6 350.3 496.6 353.3 489.7L391.7 399.1H336C329.3 399.1 323.4 395.9 321 389.6C318.7 383.4 320.4 376.3 325.5 371.1L453.5 259.1C459.1 255 467.4 254.7 473.4 259.1C479.4 263.4 481.6 271.4 478.7 278.3L440.3 367.1zM116.7 219.1L19.85 119.2C-8.112 90.26-6.614 42.31 24.85 15.34C51.82-8.137 93.26-3.642 118.2 21.83L128.2 32.32L137.7 21.83C162.7-3.642 203.6-8.137 231.6 15.34C262.6 42.31 264.1 90.26 236.1 119.2L139.7 219.1C133.2 225.6 122.7 225.6 116.7 219.1H116.7z\"\n })\n })\n }\n};\nconst $fcccfb36ed0cde68$var$search = {\n loupe: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"\n })\n }),\n delete: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"path\", {\n d: \"M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z\"\n })\n })\n};\nvar $fcccfb36ed0cde68$export$2e2bcd8739ae039 = {\n categories: $fcccfb36ed0cde68$var$categories,\n search: $fcccfb36ed0cde68$var$search\n};\n\n\n\n\n\nfunction $254755d3f438722f$export$2e2bcd8739ae039(props) {\n let { id: id , skin: skin , emoji: emoji } = props;\n if (props.shortcodes) {\n const matches = props.shortcodes.match((0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).SHORTCODES_REGEX);\n if (matches) {\n id = matches[1];\n if (matches[2]) skin = matches[2];\n }\n }\n emoji || (emoji = (0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).get(id || props.native));\n if (!emoji) return props.fallback;\n const emojiSkin = emoji.skins[skin - 1] || emoji.skins[0];\n const imageSrc = emojiSkin.src || (props.set != \"native\" && !props.spritesheet ? typeof props.getImageURL === \"function\" ? props.getImageURL(props.set, emojiSkin.unified) : `https://cdn.jsdelivr.net/npm/emoji-datasource-${props.set}@15.0.1/img/${props.set}/64/${emojiSkin.unified}.png` : undefined);\n const spritesheetSrc = typeof props.getSpritesheetURL === \"function\" ? props.getSpritesheetURL(props.set) : `https://cdn.jsdelivr.net/npm/emoji-datasource-${props.set}@15.0.1/img/${props.set}/sheets-256/64.png`;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n class: \"emoji-mart-emoji\",\n \"data-emoji-set\": props.set,\n children: imageSrc ? /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"img\", {\n style: {\n maxWidth: props.size || \"1em\",\n maxHeight: props.size || \"1em\",\n display: \"inline-block\"\n },\n alt: emojiSkin.native || emojiSkin.shortcodes,\n src: imageSrc\n }) : props.set == \"native\" ? /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n style: {\n fontSize: props.size,\n fontFamily: '\"EmojiMart\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Segoe UI\", \"Apple Color Emoji\", \"Twemoji Mozilla\", \"Noto Color Emoji\", \"Android Emoji\"'\n },\n children: emojiSkin.native\n }) : /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n style: {\n display: \"block\",\n width: props.size,\n height: props.size,\n backgroundImage: `url(${spritesheetSrc})`,\n backgroundSize: `${100 * (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).sheet.cols}% ${100 * (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).sheet.rows}%`,\n backgroundPosition: `${100 / ((0, $7adb23b0109cc36a$export$2d0294657ab35f1b).sheet.cols - 1) * emojiSkin.x}% ${100 / ((0, $7adb23b0109cc36a$export$2d0294657ab35f1b).sheet.rows - 1) * emojiSkin.y}%`\n }\n })\n });\n}\n\n\n\n\n\n\n\nconst $6f57cc9cd54c5aaa$var$WindowHTMLElement = typeof window !== \"undefined\" && window.HTMLElement ? window.HTMLElement : Object;\nclass $6f57cc9cd54c5aaa$export$2e2bcd8739ae039 extends $6f57cc9cd54c5aaa$var$WindowHTMLElement {\n static get observedAttributes() {\n return Object.keys(this.Props);\n }\n update(props = {}) {\n for(let k in props)this.attributeChangedCallback(k, null, props[k]);\n }\n attributeChangedCallback(attr, _, newValue) {\n if (!this.component) return;\n const value = (0, $7adb23b0109cc36a$export$88c9ddb45cea7241)(attr, {\n [attr]: newValue\n }, this.constructor.Props, this);\n if (this.component.componentWillReceiveProps) this.component.componentWillReceiveProps({\n [attr]: value\n });\n else {\n this.component.props[attr] = value;\n this.component.forceUpdate();\n }\n }\n disconnectedCallback() {\n this.disconnected = true;\n if (this.component && this.component.unregister) this.component.unregister();\n }\n constructor(props = {}){\n super();\n this.props = props;\n if (props.parent || props.ref) {\n let ref = null;\n const parent = props.parent || (ref = props.ref && props.ref.current);\n if (ref) ref.innerHTML = \"\";\n if (parent) parent.appendChild(this);\n }\n }\n}\n\n\n\nclass $26f27c338a96b1a6$export$2e2bcd8739ae039 extends (0, $6f57cc9cd54c5aaa$export$2e2bcd8739ae039) {\n setShadow() {\n this.attachShadow({\n mode: \"open\"\n });\n }\n injectStyles(styles) {\n if (!styles) return;\n const style = document.createElement(\"style\");\n style.textContent = styles;\n this.shadowRoot.insertBefore(style, this.shadowRoot.firstChild);\n }\n constructor(props, { styles: styles } = {}){\n super(props);\n this.setShadow();\n this.injectStyles(styles);\n }\n}\n\n\n\n\n\n\nvar $3d90f6e46fb2dd47$export$2e2bcd8739ae039 = {\n fallback: \"\",\n id: \"\",\n native: \"\",\n shortcodes: \"\",\n size: {\n value: \"\",\n transform: (value)=>{\n // If the value is a number, then we assume it’s a pixel value.\n if (!/\\D/.test(value)) return `${value}px`;\n return value;\n }\n },\n // Shared\n set: (0, $b247ea80b67298d5$export$2e2bcd8739ae039).set,\n skin: (0, $b247ea80b67298d5$export$2e2bcd8739ae039).skin\n};\n\n\nclass $331b4160623139bf$export$2e2bcd8739ae039 extends (0, $6f57cc9cd54c5aaa$export$2e2bcd8739ae039) {\n async connectedCallback() {\n const props = (0, $7adb23b0109cc36a$export$75fe5f91d452f94b)(this.props, (0, $3d90f6e46fb2dd47$export$2e2bcd8739ae039), this);\n props.element = this;\n props.ref = (component)=>{\n this.component = component;\n };\n await (0, $7adb23b0109cc36a$export$2cd8252107eb640b)();\n if (this.disconnected) return;\n (0, $fb96b826c0c5f37a$export$b3890eb0ae9dca99)(/*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)((0, $254755d3f438722f$export$2e2bcd8739ae039), {\n ...props\n }), this);\n }\n constructor(props){\n super(props);\n }\n}\n(0, $c770c458706daa72$export$2e2bcd8739ae039)($331b4160623139bf$export$2e2bcd8739ae039, \"Props\", (0, $3d90f6e46fb2dd47$export$2e2bcd8739ae039));\nif (typeof customElements !== \"undefined\" && !customElements.get(\"em-emoji\")) customElements.define(\"em-emoji\", $331b4160623139bf$export$2e2bcd8739ae039);\n\n\n\n\n\n\nvar $1a9a8ef576b7773d$var$t, $1a9a8ef576b7773d$var$u, $1a9a8ef576b7773d$var$r, $1a9a8ef576b7773d$var$o = 0, $1a9a8ef576b7773d$var$i = [], $1a9a8ef576b7773d$var$c = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__b, $1a9a8ef576b7773d$var$f = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__r, $1a9a8ef576b7773d$var$e = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).diffed, $1a9a8ef576b7773d$var$a = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__c, $1a9a8ef576b7773d$var$v = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).unmount;\nfunction $1a9a8ef576b7773d$var$m(t1, r1) {\n (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__h && (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__h($1a9a8ef576b7773d$var$u, t1, $1a9a8ef576b7773d$var$o || r1), $1a9a8ef576b7773d$var$o = 0;\n var i1 = $1a9a8ef576b7773d$var$u.__H || ($1a9a8ef576b7773d$var$u.__H = {\n __: [],\n __h: []\n });\n return t1 >= i1.__.length && i1.__.push({}), i1.__[t1];\n}\nfunction $1a9a8ef576b7773d$export$60241385465d0a34(n1) {\n return $1a9a8ef576b7773d$var$o = 1, $1a9a8ef576b7773d$export$13e3392192263954($1a9a8ef576b7773d$var$w, n1);\n}\nfunction $1a9a8ef576b7773d$export$13e3392192263954(n2, r2, o1) {\n var i2 = $1a9a8ef576b7773d$var$m($1a9a8ef576b7773d$var$t++, 2);\n return i2.t = n2, i2.__c || (i2.__ = [\n o1 ? o1(r2) : $1a9a8ef576b7773d$var$w(void 0, r2),\n function(n3) {\n var t2 = i2.t(i2.__[0], n3);\n i2.__[0] !== t2 && (i2.__ = [\n t2,\n i2.__[1]\n ], i2.__c.setState({}));\n }\n ], i2.__c = $1a9a8ef576b7773d$var$u), i2.__;\n}\nfunction $1a9a8ef576b7773d$export$6d9c69b0de29b591(r3, o2) {\n var i3 = $1a9a8ef576b7773d$var$m($1a9a8ef576b7773d$var$t++, 3);\n !(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__s && $1a9a8ef576b7773d$var$k(i3.__H, o2) && (i3.__ = r3, i3.__H = o2, $1a9a8ef576b7773d$var$u.__H.__h.push(i3));\n}\nfunction $1a9a8ef576b7773d$export$e5c5a5f917a5871c(r4, o3) {\n var i4 = $1a9a8ef576b7773d$var$m($1a9a8ef576b7773d$var$t++, 4);\n !(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__s && $1a9a8ef576b7773d$var$k(i4.__H, o3) && (i4.__ = r4, i4.__H = o3, $1a9a8ef576b7773d$var$u.__h.push(i4));\n}\nfunction $1a9a8ef576b7773d$export$b8f5890fc79d6aca(n4) {\n return $1a9a8ef576b7773d$var$o = 5, $1a9a8ef576b7773d$export$1538c33de8887b59(function() {\n return {\n current: n4\n };\n }, []);\n}\nfunction $1a9a8ef576b7773d$export$d5a552a76deda3c2(n5, t3, u1) {\n $1a9a8ef576b7773d$var$o = 6, $1a9a8ef576b7773d$export$e5c5a5f917a5871c(function() {\n \"function\" == typeof n5 ? n5(t3()) : n5 && (n5.current = t3());\n }, null == u1 ? u1 : u1.concat(n5));\n}\nfunction $1a9a8ef576b7773d$export$1538c33de8887b59(n6, u2) {\n var r5 = $1a9a8ef576b7773d$var$m($1a9a8ef576b7773d$var$t++, 7);\n return $1a9a8ef576b7773d$var$k(r5.__H, u2) && (r5.__ = n6(), r5.__H = u2, r5.__h = n6), r5.__;\n}\nfunction $1a9a8ef576b7773d$export$35808ee640e87ca7(n7, t4) {\n return $1a9a8ef576b7773d$var$o = 8, $1a9a8ef576b7773d$export$1538c33de8887b59(function() {\n return n7;\n }, t4);\n}\nfunction $1a9a8ef576b7773d$export$fae74005e78b1a27(n8) {\n var r6 = $1a9a8ef576b7773d$var$u.context[n8.__c], o4 = $1a9a8ef576b7773d$var$m($1a9a8ef576b7773d$var$t++, 9);\n return o4.c = n8, r6 ? (null == o4.__ && (o4.__ = !0, r6.sub($1a9a8ef576b7773d$var$u)), r6.props.value) : n8.__;\n}\nfunction $1a9a8ef576b7773d$export$dc8fbce3eb94dc1e(t5, u3) {\n (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).useDebugValue && (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).useDebugValue(u3 ? u3(t5) : t5);\n}\nfunction $1a9a8ef576b7773d$export$c052f6604b7d51fe(n9) {\n var r7 = $1a9a8ef576b7773d$var$m($1a9a8ef576b7773d$var$t++, 10), o5 = $1a9a8ef576b7773d$export$60241385465d0a34();\n return r7.__ = n9, $1a9a8ef576b7773d$var$u.componentDidCatch || ($1a9a8ef576b7773d$var$u.componentDidCatch = function(n10) {\n r7.__ && r7.__(n10), o5[1](n10);\n }), [\n o5[0],\n function() {\n o5[1](void 0);\n }\n ];\n}\nfunction $1a9a8ef576b7773d$var$x() {\n var t6;\n for($1a9a8ef576b7773d$var$i.sort(function(n11, t7) {\n return n11.__v.__b - t7.__v.__b;\n }); t6 = $1a9a8ef576b7773d$var$i.pop();)if (t6.__P) try {\n t6.__H.__h.forEach($1a9a8ef576b7773d$var$g), t6.__H.__h.forEach($1a9a8ef576b7773d$var$j), t6.__H.__h = [];\n } catch (u4) {\n t6.__H.__h = [], (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__e(u4, t6.__v);\n }\n}\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__b = function(n12) {\n $1a9a8ef576b7773d$var$u = null, $1a9a8ef576b7773d$var$c && $1a9a8ef576b7773d$var$c(n12);\n}, (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__r = function(n13) {\n $1a9a8ef576b7773d$var$f && $1a9a8ef576b7773d$var$f(n13), $1a9a8ef576b7773d$var$t = 0;\n var r8 = ($1a9a8ef576b7773d$var$u = n13.__c).__H;\n r8 && (r8.__h.forEach($1a9a8ef576b7773d$var$g), r8.__h.forEach($1a9a8ef576b7773d$var$j), r8.__h = []);\n}, (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).diffed = function(t8) {\n $1a9a8ef576b7773d$var$e && $1a9a8ef576b7773d$var$e(t8);\n var o6 = t8.__c;\n o6 && o6.__H && o6.__H.__h.length && (1 !== $1a9a8ef576b7773d$var$i.push(o6) && $1a9a8ef576b7773d$var$r === (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).requestAnimationFrame || (($1a9a8ef576b7773d$var$r = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).requestAnimationFrame) || function(n14) {\n var t9, u5 = function() {\n clearTimeout(r9), $1a9a8ef576b7773d$var$b && cancelAnimationFrame(t9), setTimeout(n14);\n }, r9 = setTimeout(u5, 100);\n $1a9a8ef576b7773d$var$b && (t9 = requestAnimationFrame(u5));\n })($1a9a8ef576b7773d$var$x)), $1a9a8ef576b7773d$var$u = null;\n}, (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__c = function(t10, u6) {\n u6.some(function(t11) {\n try {\n t11.__h.forEach($1a9a8ef576b7773d$var$g), t11.__h = t11.__h.filter(function(n15) {\n return !n15.__ || $1a9a8ef576b7773d$var$j(n15);\n });\n } catch (r10) {\n u6.some(function(n16) {\n n16.__h && (n16.__h = []);\n }), u6 = [], (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__e(r10, t11.__v);\n }\n }), $1a9a8ef576b7773d$var$a && $1a9a8ef576b7773d$var$a(t10, u6);\n}, (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).unmount = function(t12) {\n $1a9a8ef576b7773d$var$v && $1a9a8ef576b7773d$var$v(t12);\n var u7, r11 = t12.__c;\n r11 && r11.__H && (r11.__H.__.forEach(function(n17) {\n try {\n $1a9a8ef576b7773d$var$g(n17);\n } catch (n18) {\n u7 = n18;\n }\n }), u7 && (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__e(u7, r11.__v));\n};\nvar $1a9a8ef576b7773d$var$b = \"function\" == typeof requestAnimationFrame;\nfunction $1a9a8ef576b7773d$var$g(n19) {\n var t13 = $1a9a8ef576b7773d$var$u, r12 = n19.__c;\n \"function\" == typeof r12 && (n19.__c = void 0, r12()), $1a9a8ef576b7773d$var$u = t13;\n}\nfunction $1a9a8ef576b7773d$var$j(n20) {\n var t14 = $1a9a8ef576b7773d$var$u;\n n20.__c = n20.__(), $1a9a8ef576b7773d$var$u = t14;\n}\nfunction $1a9a8ef576b7773d$var$k(n21, t15) {\n return !n21 || n21.length !== t15.length || t15.some(function(t16, u8) {\n return t16 !== n21[u8];\n });\n}\nfunction $1a9a8ef576b7773d$var$w(n22, t17) {\n return \"function\" == typeof t17 ? t17(n22) : t17;\n}\n\n\n\n\n\nfunction $dc040a17866866fa$var$S(n1, t1) {\n for(var e1 in t1)n1[e1] = t1[e1];\n return n1;\n}\nfunction $dc040a17866866fa$var$C(n2, t2) {\n for(var e2 in n2)if (\"__source\" !== e2 && !(e2 in t2)) return !0;\n for(var r1 in t2)if (\"__source\" !== r1 && n2[r1] !== t2[r1]) return !0;\n return !1;\n}\nfunction $dc040a17866866fa$export$221d75b3f55bb0bd(n3) {\n this.props = n3;\n}\nfunction $dc040a17866866fa$export$7c73462e0d25e514(n4, t3) {\n function e3(n5) {\n var e4 = this.props.ref, r3 = e4 == n5.ref;\n return !r3 && e4 && (e4.call ? e4(null) : e4.current = null), t3 ? !t3(this.props, n5) || !r3 : $dc040a17866866fa$var$C(this.props, n5);\n }\n function r2(t4) {\n return this.shouldComponentUpdate = e3, (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d)(n4, t4);\n }\n return r2.displayName = \"Memo(\" + (n4.displayName || n4.name) + \")\", r2.prototype.isReactComponent = !0, r2.__f = !0, r2;\n}\n($dc040a17866866fa$export$221d75b3f55bb0bd.prototype = new (0, $fb96b826c0c5f37a$export$16fa2f45be04daa8)).isPureReactComponent = !0, $dc040a17866866fa$export$221d75b3f55bb0bd.prototype.shouldComponentUpdate = function(n6, t5) {\n return $dc040a17866866fa$var$C(this.props, n6) || $dc040a17866866fa$var$C(this.state, t5);\n};\nvar $dc040a17866866fa$var$w = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__b;\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__b = function(n7) {\n n7.type && n7.type.__f && n7.ref && (n7.props.ref = n7.ref, n7.ref = null), $dc040a17866866fa$var$w && $dc040a17866866fa$var$w(n7);\n};\nvar $dc040a17866866fa$var$R = \"undefined\" != typeof Symbol && Symbol.for && Symbol.for(\"react.forward_ref\") || 3911;\nfunction $dc040a17866866fa$export$257a8862b851cb5b(n8) {\n function t6(t7, e5) {\n var r4 = $dc040a17866866fa$var$S({}, t7);\n return delete r4.ref, n8(r4, (e5 = t7.ref || e5) && (\"object\" != typeof e5 || \"current\" in e5) ? e5 : null);\n }\n return t6.$$typeof = $dc040a17866866fa$var$R, t6.render = t6, t6.prototype.isReactComponent = t6.__f = !0, t6.displayName = \"ForwardRef(\" + (n8.displayName || n8.name) + \")\", t6;\n}\nvar $dc040a17866866fa$var$N = function(n9, t8) {\n return null == n9 ? null : (0, $fb96b826c0c5f37a$export$47e4c5b300681277)((0, $fb96b826c0c5f37a$export$47e4c5b300681277)(n9).map(t8));\n}, $dc040a17866866fa$export$dca3b0875bd9a954 = {\n map: $dc040a17866866fa$var$N,\n forEach: $dc040a17866866fa$var$N,\n count: function(n10) {\n return n10 ? (0, $fb96b826c0c5f37a$export$47e4c5b300681277)(n10).length : 0;\n },\n only: function(n11) {\n var t9 = (0, $fb96b826c0c5f37a$export$47e4c5b300681277)(n11);\n if (1 !== t9.length) throw \"Children.only\";\n return t9[0];\n },\n toArray: (0, $fb96b826c0c5f37a$export$47e4c5b300681277)\n}, $dc040a17866866fa$var$A = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__e;\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__e = function(n12, t10, e6) {\n if (n12.then) {\n for(var r5, u1 = t10; u1 = u1.__;)if ((r5 = u1.__c) && r5.__c) return null == t10.__e && (t10.__e = e6.__e, t10.__k = e6.__k), r5.__c(n12, t10);\n }\n $dc040a17866866fa$var$A(n12, t10, e6);\n};\nvar $dc040a17866866fa$var$O = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).unmount;\nfunction $dc040a17866866fa$export$74bf444e3cd11ea5() {\n this.__u = 0, this.t = null, this.__b = null;\n}\nfunction $dc040a17866866fa$var$U(n13) {\n var t11 = n13.__.__c;\n return t11 && t11.__e && t11.__e(n13);\n}\nfunction $dc040a17866866fa$export$488013bae63b21da(n14) {\n var t12, e7, r6;\n function u2(u3) {\n if (t12 || (t12 = n14()).then(function(n15) {\n e7 = n15.default || n15;\n }, function(n16) {\n r6 = n16;\n }), r6) throw r6;\n if (!e7) throw t12;\n return (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d)(e7, u3);\n }\n return u2.displayName = \"Lazy\", u2.__f = !0, u2;\n}\nfunction $dc040a17866866fa$export$998bcd577473dd93() {\n this.u = null, this.o = null;\n}\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).unmount = function(n17) {\n var t13 = n17.__c;\n t13 && t13.__R && t13.__R(), t13 && !0 === n17.__h && (n17.type = null), $dc040a17866866fa$var$O && $dc040a17866866fa$var$O(n17);\n}, ($dc040a17866866fa$export$74bf444e3cd11ea5.prototype = new (0, $fb96b826c0c5f37a$export$16fa2f45be04daa8)).__c = function(n18, t14) {\n var e8 = t14.__c, r7 = this;\n null == r7.t && (r7.t = []), r7.t.push(e8);\n var u4 = $dc040a17866866fa$var$U(r7.__v), o1 = !1, i1 = function() {\n o1 || (o1 = !0, e8.__R = null, u4 ? u4(l1) : l1());\n };\n e8.__R = i1;\n var l1 = function() {\n if (!--r7.__u) {\n if (r7.state.__e) {\n var n19 = r7.state.__e;\n r7.__v.__k[0] = function n22(t17, e9, r8) {\n return t17 && (t17.__v = null, t17.__k = t17.__k && t17.__k.map(function(t18) {\n return n22(t18, e9, r8);\n }), t17.__c && t17.__c.__P === e9 && (t17.__e && r8.insertBefore(t17.__e, t17.__d), t17.__c.__e = !0, t17.__c.__P = r8)), t17;\n }(n19, n19.__c.__P, n19.__c.__O);\n }\n var t15;\n for(r7.setState({\n __e: r7.__b = null\n }); t15 = r7.t.pop();)t15.forceUpdate();\n }\n }, c1 = !0 === t14.__h;\n (r7.__u++) || c1 || r7.setState({\n __e: r7.__b = r7.__v.__k[0]\n }), n18.then(i1, i1);\n}, $dc040a17866866fa$export$74bf444e3cd11ea5.prototype.componentWillUnmount = function() {\n this.t = [];\n}, $dc040a17866866fa$export$74bf444e3cd11ea5.prototype.render = function(n23, t19) {\n if (this.__b) {\n if (this.__v.__k) {\n var e10 = document.createElement(\"div\"), r9 = this.__v.__k[0].__c;\n this.__v.__k[0] = function n24(t20, e13, r12) {\n return t20 && (t20.__c && t20.__c.__H && (t20.__c.__H.__.forEach(function(n25) {\n \"function\" == typeof n25.__c && n25.__c();\n }), t20.__c.__H = null), null != (t20 = $dc040a17866866fa$var$S({}, t20)).__c && (t20.__c.__P === r12 && (t20.__c.__P = e13), t20.__c = null), t20.__k = t20.__k && t20.__k.map(function(t21) {\n return n24(t21, e13, r12);\n })), t20;\n }(this.__b, e10, r9.__O = r9.__P);\n }\n this.__b = null;\n }\n var u5 = t19.__e && (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d)((0, $fb96b826c0c5f37a$export$ffb0004e005737fa), null, n23.fallback);\n return u5 && (u5.__h = null), [\n (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d)((0, $fb96b826c0c5f37a$export$ffb0004e005737fa), null, t19.__e ? null : n23.children),\n u5\n ];\n};\nvar $dc040a17866866fa$var$T = function(n26, t22, e14) {\n if (++e14[1] === e14[0] && n26.o.delete(t22), n26.props.revealOrder && (\"t\" !== n26.props.revealOrder[0] || !n26.o.size)) for(e14 = n26.u; e14;){\n for(; e14.length > 3;)e14.pop()();\n if (e14[1] < e14[0]) break;\n n26.u = e14 = e14[2];\n }\n};\nfunction $dc040a17866866fa$var$D(n27) {\n return this.getChildContext = function() {\n return n27.context;\n }, n27.children;\n}\nfunction $dc040a17866866fa$var$I(n28) {\n var t23 = this, e15 = n28.i;\n t23.componentWillUnmount = function() {\n (0, $fb96b826c0c5f37a$export$b3890eb0ae9dca99)(null, t23.l), t23.l = null, t23.i = null;\n }, t23.i && t23.i !== e15 && t23.componentWillUnmount(), n28.__v ? (t23.l || (t23.i = e15, t23.l = {\n nodeType: 1,\n parentNode: e15,\n childNodes: [],\n appendChild: function(n29) {\n this.childNodes.push(n29), t23.i.appendChild(n29);\n },\n insertBefore: function(n30, e) {\n this.childNodes.push(n30), t23.i.appendChild(n30);\n },\n removeChild: function(n31) {\n this.childNodes.splice(this.childNodes.indexOf(n31) >>> 1, 1), t23.i.removeChild(n31);\n }\n }), (0, $fb96b826c0c5f37a$export$b3890eb0ae9dca99)((0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d)($dc040a17866866fa$var$D, {\n context: t23.context\n }, n28.__v), t23.l)) : t23.l && t23.componentWillUnmount();\n}\nfunction $dc040a17866866fa$export$d39a5bbd09211389(n32, t24) {\n return (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d)($dc040a17866866fa$var$I, {\n __v: n32,\n i: t24\n });\n}\n($dc040a17866866fa$export$998bcd577473dd93.prototype = new (0, $fb96b826c0c5f37a$export$16fa2f45be04daa8)).__e = function(n33) {\n var t25 = this, e16 = $dc040a17866866fa$var$U(t25.__v), r13 = t25.o.get(n33);\n return r13[0]++, function(u6) {\n var o2 = function() {\n t25.props.revealOrder ? (r13.push(u6), $dc040a17866866fa$var$T(t25, n33, r13)) : u6();\n };\n e16 ? e16(o2) : o2();\n };\n}, $dc040a17866866fa$export$998bcd577473dd93.prototype.render = function(n34) {\n this.u = null, this.o = new Map;\n var t26 = (0, $fb96b826c0c5f37a$export$47e4c5b300681277)(n34.children);\n n34.revealOrder && \"b\" === n34.revealOrder[0] && t26.reverse();\n for(var e17 = t26.length; e17--;)this.o.set(t26[e17], this.u = [\n 1,\n 0,\n this.u\n ]);\n return n34.children;\n}, $dc040a17866866fa$export$998bcd577473dd93.prototype.componentDidUpdate = $dc040a17866866fa$export$998bcd577473dd93.prototype.componentDidMount = function() {\n var n35 = this;\n this.o.forEach(function(t27, e18) {\n $dc040a17866866fa$var$T(n35, e18, t27);\n });\n};\nvar $dc040a17866866fa$var$j = \"undefined\" != typeof Symbol && Symbol.for && Symbol.for(\"react.element\") || 60103, $dc040a17866866fa$var$P = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, $dc040a17866866fa$var$V = \"undefined\" != typeof document, $dc040a17866866fa$var$z = function(n36) {\n return (\"undefined\" != typeof Symbol && \"symbol\" == typeof Symbol() ? /fil|che|rad/i : /fil|che|ra/i).test(n36);\n};\nfunction $dc040a17866866fa$export$b3890eb0ae9dca99(n37, t28, e19) {\n return null == t28.__k && (t28.textContent = \"\"), (0, $fb96b826c0c5f37a$export$b3890eb0ae9dca99)(n37, t28), \"function\" == typeof e19 && e19(), n37 ? n37.__c : null;\n}\nfunction $dc040a17866866fa$export$fa8d919ba61d84db(n38, t29, e20) {\n return (0, $fb96b826c0c5f37a$export$fa8d919ba61d84db)(n38, t29), \"function\" == typeof e20 && e20(), n38 ? n38.__c : null;\n}\n(0, $fb96b826c0c5f37a$export$16fa2f45be04daa8).prototype.isReactComponent = {}, [\n \"componentWillMount\",\n \"componentWillReceiveProps\",\n \"componentWillUpdate\"\n].forEach(function(n39) {\n Object.defineProperty((0, $fb96b826c0c5f37a$export$16fa2f45be04daa8).prototype, n39, {\n configurable: !0,\n get: function() {\n return this[\"UNSAFE_\" + n39];\n },\n set: function(t30) {\n Object.defineProperty(this, n39, {\n configurable: !0,\n writable: !0,\n value: t30\n });\n }\n });\n});\nvar $dc040a17866866fa$var$H = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).event;\nfunction $dc040a17866866fa$var$Z() {}\nfunction $dc040a17866866fa$var$Y() {\n return this.cancelBubble;\n}\nfunction $dc040a17866866fa$var$q() {\n return this.defaultPrevented;\n}\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).event = function(n40) {\n return $dc040a17866866fa$var$H && (n40 = $dc040a17866866fa$var$H(n40)), n40.persist = $dc040a17866866fa$var$Z, n40.isPropagationStopped = $dc040a17866866fa$var$Y, n40.isDefaultPrevented = $dc040a17866866fa$var$q, n40.nativeEvent = n40;\n};\nvar $dc040a17866866fa$var$G, $dc040a17866866fa$var$J = {\n configurable: !0,\n get: function() {\n return this.class;\n }\n}, $dc040a17866866fa$var$K = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).vnode;\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).vnode = function(n41) {\n var t31 = n41.type, e21 = n41.props, r14 = e21;\n if (\"string\" == typeof t31) {\n var u7 = -1 === t31.indexOf(\"-\");\n for(var o3 in r14 = {}, e21){\n var i2 = e21[o3];\n $dc040a17866866fa$var$V && \"children\" === o3 && \"noscript\" === t31 || \"value\" === o3 && \"defaultValue\" in e21 && null == i2 || (\"defaultValue\" === o3 && \"value\" in e21 && null == e21.value ? o3 = \"value\" : \"download\" === o3 && !0 === i2 ? i2 = \"\" : /ondoubleclick/i.test(o3) ? o3 = \"ondblclick\" : /^onchange(textarea|input)/i.test(o3 + t31) && !$dc040a17866866fa$var$z(e21.type) ? o3 = \"oninput\" : /^onfocus$/i.test(o3) ? o3 = \"onfocusin\" : /^onblur$/i.test(o3) ? o3 = \"onfocusout\" : /^on(Ani|Tra|Tou|BeforeInp)/.test(o3) ? o3 = o3.toLowerCase() : u7 && $dc040a17866866fa$var$P.test(o3) ? o3 = o3.replace(/[A-Z0-9]/, \"-$&\").toLowerCase() : null === i2 && (i2 = void 0), r14[o3] = i2);\n }\n \"select\" == t31 && r14.multiple && Array.isArray(r14.value) && (r14.value = (0, $fb96b826c0c5f37a$export$47e4c5b300681277)(e21.children).forEach(function(n42) {\n n42.props.selected = -1 != r14.value.indexOf(n42.props.value);\n })), \"select\" == t31 && null != r14.defaultValue && (r14.value = (0, $fb96b826c0c5f37a$export$47e4c5b300681277)(e21.children).forEach(function(n43) {\n n43.props.selected = r14.multiple ? -1 != r14.defaultValue.indexOf(n43.props.value) : r14.defaultValue == n43.props.value;\n })), n41.props = r14, e21.class != e21.className && ($dc040a17866866fa$var$J.enumerable = \"className\" in e21, null != e21.className && (r14.class = e21.className), Object.defineProperty(r14, \"className\", $dc040a17866866fa$var$J));\n }\n n41.$$typeof = $dc040a17866866fa$var$j, $dc040a17866866fa$var$K && $dc040a17866866fa$var$K(n41);\n};\nvar $dc040a17866866fa$var$Q = (0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__r;\n(0, $fb96b826c0c5f37a$export$41c562ebe57d11e2).__r = function(n44) {\n $dc040a17866866fa$var$Q && $dc040a17866866fa$var$Q(n44), $dc040a17866866fa$var$G = n44.__c;\n};\nvar $dc040a17866866fa$export$ae55be85d98224ed = {\n ReactCurrentDispatcher: {\n current: {\n readContext: function(n45) {\n return $dc040a17866866fa$var$G.__n[n45.__c].props.value;\n }\n }\n }\n}, $dc040a17866866fa$export$83d89fbfd8236492 = \"17.0.2\";\nfunction $dc040a17866866fa$export$d38cd72104c1f0e9(n46) {\n return (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d).bind(null, n46);\n}\nfunction $dc040a17866866fa$export$a8257692ac88316c(n47) {\n return !!n47 && n47.$$typeof === $dc040a17866866fa$var$j;\n}\nfunction $dc040a17866866fa$export$e530037191fcd5d7(n48) {\n return $dc040a17866866fa$export$a8257692ac88316c(n48) ? (0, $fb96b826c0c5f37a$export$e530037191fcd5d7).apply(null, arguments) : n48;\n}\nfunction $dc040a17866866fa$export$502457920280e6be(n49) {\n return !!n49.__k && ((0, $fb96b826c0c5f37a$export$b3890eb0ae9dca99)(null, n49), !0);\n}\nfunction $dc040a17866866fa$export$466bfc07425424d5(n50) {\n return n50 && (n50.base || 1 === n50.nodeType && n50) || null;\n}\nvar $dc040a17866866fa$export$c78a37762a8d58e1 = function(n51, t32) {\n return n51(t32);\n}, $dc040a17866866fa$export$cd75ccfd720a3cd4 = function(n52, t33) {\n return n52(t33);\n}, $dc040a17866866fa$export$5f8d39834fd61797 = (0, $fb96b826c0c5f37a$export$ffb0004e005737fa);\nvar $dc040a17866866fa$export$2e2bcd8739ae039 = {\n useState: (0, $1a9a8ef576b7773d$export$60241385465d0a34),\n useReducer: (0, $1a9a8ef576b7773d$export$13e3392192263954),\n useEffect: (0, $1a9a8ef576b7773d$export$6d9c69b0de29b591),\n useLayoutEffect: (0, $1a9a8ef576b7773d$export$e5c5a5f917a5871c),\n useRef: (0, $1a9a8ef576b7773d$export$b8f5890fc79d6aca),\n useImperativeHandle: (0, $1a9a8ef576b7773d$export$d5a552a76deda3c2),\n useMemo: (0, $1a9a8ef576b7773d$export$1538c33de8887b59),\n useCallback: (0, $1a9a8ef576b7773d$export$35808ee640e87ca7),\n useContext: (0, $1a9a8ef576b7773d$export$fae74005e78b1a27),\n useDebugValue: (0, $1a9a8ef576b7773d$export$dc8fbce3eb94dc1e),\n version: \"17.0.2\",\n Children: $dc040a17866866fa$export$dca3b0875bd9a954,\n render: $dc040a17866866fa$export$b3890eb0ae9dca99,\n hydrate: $dc040a17866866fa$export$fa8d919ba61d84db,\n unmountComponentAtNode: $dc040a17866866fa$export$502457920280e6be,\n createPortal: $dc040a17866866fa$export$d39a5bbd09211389,\n createElement: (0, $fb96b826c0c5f37a$export$c8a8987d4410bf2d),\n createContext: (0, $fb96b826c0c5f37a$export$fd42f52fd3ae1109),\n createFactory: $dc040a17866866fa$export$d38cd72104c1f0e9,\n cloneElement: $dc040a17866866fa$export$e530037191fcd5d7,\n createRef: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43),\n Fragment: (0, $fb96b826c0c5f37a$export$ffb0004e005737fa),\n isValidElement: $dc040a17866866fa$export$a8257692ac88316c,\n findDOMNode: $dc040a17866866fa$export$466bfc07425424d5,\n Component: (0, $fb96b826c0c5f37a$export$16fa2f45be04daa8),\n PureComponent: $dc040a17866866fa$export$221d75b3f55bb0bd,\n memo: $dc040a17866866fa$export$7c73462e0d25e514,\n forwardRef: $dc040a17866866fa$export$257a8862b851cb5b,\n flushSync: $dc040a17866866fa$export$cd75ccfd720a3cd4,\n unstable_batchedUpdates: $dc040a17866866fa$export$c78a37762a8d58e1,\n StrictMode: (0, $fb96b826c0c5f37a$export$ffb0004e005737fa),\n Suspense: $dc040a17866866fa$export$74bf444e3cd11ea5,\n SuspenseList: $dc040a17866866fa$export$998bcd577473dd93,\n lazy: $dc040a17866866fa$export$488013bae63b21da,\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: $dc040a17866866fa$export$ae55be85d98224ed\n};\n\n\n\n\nconst $ec8c39fdad15601a$var$THEME_ICONS = {\n light: \"outline\",\n dark: \"solid\"\n};\nclass $ec8c39fdad15601a$export$2e2bcd8739ae039 extends (0, $dc040a17866866fa$export$221d75b3f55bb0bd) {\n renderIcon(category) {\n const { icon: icon } = category;\n if (icon) {\n if (icon.svg) return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n class: \"flex\",\n dangerouslySetInnerHTML: {\n __html: icon.svg\n }\n });\n if (icon.src) return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"img\", {\n src: icon.src\n });\n }\n const categoryIcons = (0, $fcccfb36ed0cde68$export$2e2bcd8739ae039).categories[category.id] || (0, $fcccfb36ed0cde68$export$2e2bcd8739ae039).categories.custom;\n const style = this.props.icons == \"auto\" ? $ec8c39fdad15601a$var$THEME_ICONS[this.props.theme] : this.props.icons;\n return categoryIcons[style] || categoryIcons;\n }\n render() {\n let selectedCategoryIndex = null;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"nav\", {\n id: \"nav\",\n class: \"padding\",\n \"data-position\": this.props.position,\n dir: this.props.dir,\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"flex relative\",\n children: [\n this.categories.map((category, i)=>{\n const title = category.name || (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).categories[category.id];\n const selected = !this.props.unfocused && category.id == this.state.categoryId;\n if (selected) selectedCategoryIndex = i;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"button\", {\n \"aria-label\": title,\n \"aria-selected\": selected || undefined,\n title: title,\n type: \"button\",\n class: \"flex flex-grow flex-center\",\n onMouseDown: (e)=>e.preventDefault(),\n onClick: ()=>{\n this.props.onClick({\n category: category,\n i: i\n });\n },\n children: this.renderIcon(category)\n });\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"bar\",\n style: {\n width: `${100 / this.categories.length}%`,\n opacity: selectedCategoryIndex == null ? 0 : 1,\n transform: this.props.dir === \"rtl\" ? `scaleX(-1) translateX(${selectedCategoryIndex * 100}%)` : `translateX(${selectedCategoryIndex * 100}%)`\n }\n })\n ]\n })\n });\n }\n constructor(){\n super();\n this.categories = (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).categories.filter((category)=>{\n return !category.target;\n });\n this.state = {\n categoryId: this.categories[0].id\n };\n }\n}\n\n\n\n\n\nclass $e0d4dda61265ff1e$export$2e2bcd8739ae039 extends (0, $dc040a17866866fa$export$221d75b3f55bb0bd) {\n shouldComponentUpdate(nextProps) {\n for(let k in nextProps){\n if (k == \"children\") continue;\n if (nextProps[k] != this.props[k]) return true;\n }\n return false;\n }\n render() {\n return this.props.children;\n }\n}\n\n\n\n\nconst $89bd6bb200cc8fef$var$Performance = {\n rowsPerRender: 10\n};\nclass $89bd6bb200cc8fef$export$2e2bcd8739ae039 extends (0, $fb96b826c0c5f37a$export$16fa2f45be04daa8) {\n getInitialState(props = this.props) {\n return {\n skin: (0, $f72b75cf796873c7$export$2e2bcd8739ae039).get(\"skin\") || props.skin,\n theme: this.initTheme(props.theme)\n };\n }\n componentWillMount() {\n this.dir = (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).rtl ? \"rtl\" : \"ltr\";\n this.refs = {\n menu: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n navigation: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n scroll: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n search: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n searchInput: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n skinToneButton: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n skinToneRadio: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)()\n };\n this.initGrid();\n if (this.props.stickySearch == false && this.props.searchPosition == \"sticky\") {\n console.warn(\"[EmojiMart] Deprecation warning: `stickySearch` has been renamed `searchPosition`.\");\n this.props.searchPosition = \"static\";\n }\n }\n componentDidMount() {\n this.register();\n this.shadowRoot = this.base.parentNode;\n if (this.props.autoFocus) {\n const { searchInput: searchInput } = this.refs;\n if (searchInput.current) searchInput.current.focus();\n }\n }\n componentWillReceiveProps(nextProps) {\n this.nextState || (this.nextState = {});\n for(const k1 in nextProps)this.nextState[k1] = nextProps[k1];\n clearTimeout(this.nextStateTimer);\n this.nextStateTimer = setTimeout(()=>{\n let requiresGridReset = false;\n for(const k in this.nextState){\n this.props[k] = this.nextState[k];\n if (k === \"custom\" || k === \"categories\") requiresGridReset = true;\n }\n delete this.nextState;\n const nextState = this.getInitialState();\n if (requiresGridReset) return this.reset(nextState);\n this.setState(nextState);\n });\n }\n componentWillUnmount() {\n this.unregister();\n }\n async reset(nextState = {}) {\n await (0, $7adb23b0109cc36a$export$2cd8252107eb640b)(this.props);\n this.initGrid();\n this.unobserve();\n this.setState(nextState, ()=>{\n this.observeCategories();\n this.observeRows();\n });\n }\n register() {\n document.addEventListener(\"click\", this.handleClickOutside);\n this.observe();\n }\n unregister() {\n document.removeEventListener(\"click\", this.handleClickOutside);\n this.darkMedia?.removeEventListener(\"change\", this.darkMediaCallback);\n this.unobserve();\n }\n observe() {\n this.observeCategories();\n this.observeRows();\n }\n unobserve({ except: except = [] } = {}) {\n if (!Array.isArray(except)) except = [\n except\n ];\n for (const observer of this.observers){\n if (except.includes(observer)) continue;\n observer.disconnect();\n }\n this.observers = [].concat(except);\n }\n initGrid() {\n const { categories: categories } = (0, $7adb23b0109cc36a$export$2d0294657ab35f1b);\n this.refs.categories = new Map();\n const navKey = (0, $7adb23b0109cc36a$export$2d0294657ab35f1b).categories.map((category)=>category.id).join(\",\");\n if (this.navKey && this.navKey != navKey) this.refs.scroll.current && (this.refs.scroll.current.scrollTop = 0);\n this.navKey = navKey;\n this.grid = [];\n this.grid.setsize = 0;\n const addRow = (rows, category)=>{\n const row = [];\n row.__categoryId = category.id;\n row.__index = rows.length;\n this.grid.push(row);\n const rowIndex = this.grid.length - 1;\n const rowRef = rowIndex % $89bd6bb200cc8fef$var$Performance.rowsPerRender ? {} : (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)();\n rowRef.index = rowIndex;\n rowRef.posinset = this.grid.setsize + 1;\n rows.push(rowRef);\n return row;\n };\n for (let category1 of categories){\n const rows = [];\n let row = addRow(rows, category1);\n for (let emoji of category1.emojis){\n if (row.length == this.getPerLine()) row = addRow(rows, category1);\n this.grid.setsize += 1;\n row.push(emoji);\n }\n this.refs.categories.set(category1.id, {\n root: (0, $fb96b826c0c5f37a$export$7d1e3a5e95ceca43)(),\n rows: rows\n });\n }\n }\n initTheme(theme) {\n if (theme != \"auto\") return theme;\n if (!this.darkMedia) {\n this.darkMedia = matchMedia(\"(prefers-color-scheme: dark)\");\n if (this.darkMedia.media.match(/^not/)) return \"light\";\n this.darkMedia.addEventListener(\"change\", this.darkMediaCallback);\n }\n return this.darkMedia.matches ? \"dark\" : \"light\";\n }\n initDynamicPerLine(props = this.props) {\n if (!props.dynamicWidth) return;\n const { element: element , emojiButtonSize: emojiButtonSize } = props;\n const calculatePerLine = ()=>{\n const { width: width } = element.getBoundingClientRect();\n return Math.floor(width / emojiButtonSize);\n };\n const observer = new ResizeObserver(()=>{\n this.unobserve({\n except: observer\n });\n this.setState({\n perLine: calculatePerLine()\n }, ()=>{\n this.initGrid();\n this.forceUpdate(()=>{\n this.observeCategories();\n this.observeRows();\n });\n });\n });\n observer.observe(element);\n this.observers.push(observer);\n return calculatePerLine();\n }\n getPerLine() {\n return this.state.perLine || this.props.perLine;\n }\n getEmojiByPos([p1, p2]) {\n const grid = this.state.searchResults || this.grid;\n const emoji = grid[p1] && grid[p1][p2];\n if (!emoji) return;\n return (0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).get(emoji);\n }\n observeCategories() {\n const navigation = this.refs.navigation.current;\n if (!navigation) return;\n const visibleCategories = new Map();\n const setFocusedCategory = (categoryId)=>{\n if (categoryId != navigation.state.categoryId) navigation.setState({\n categoryId: categoryId\n });\n };\n const observerOptions = {\n root: this.refs.scroll.current,\n threshold: [\n 0.0,\n 1.0\n ]\n };\n const observer = new IntersectionObserver((entries)=>{\n for (const entry of entries){\n const id = entry.target.dataset.id;\n visibleCategories.set(id, entry.intersectionRatio);\n }\n const ratios = [\n ...visibleCategories\n ];\n for (const [id, ratio] of ratios)if (ratio) {\n setFocusedCategory(id);\n break;\n }\n }, observerOptions);\n for (const { root: root } of this.refs.categories.values())observer.observe(root.current);\n this.observers.push(observer);\n }\n observeRows() {\n const visibleRows = {\n ...this.state.visibleRows\n };\n const observer = new IntersectionObserver((entries)=>{\n for (const entry of entries){\n const index = parseInt(entry.target.dataset.index);\n if (entry.isIntersecting) visibleRows[index] = true;\n else delete visibleRows[index];\n }\n this.setState({\n visibleRows: visibleRows\n });\n }, {\n root: this.refs.scroll.current,\n rootMargin: `${this.props.emojiButtonSize * ($89bd6bb200cc8fef$var$Performance.rowsPerRender + 5)}px 0px ${this.props.emojiButtonSize * $89bd6bb200cc8fef$var$Performance.rowsPerRender}px`\n });\n for (const { rows: rows } of this.refs.categories.values()){\n for (const row of rows)if (row.current) observer.observe(row.current);\n }\n this.observers.push(observer);\n }\n preventDefault(e) {\n e.preventDefault();\n }\n unfocusSearch() {\n const input = this.refs.searchInput.current;\n if (!input) return;\n input.blur();\n }\n navigate({ e: e , input: input , left: left , right: right , up: up , down: down }) {\n const grid = this.state.searchResults || this.grid;\n if (!grid.length) return;\n let [p1, p2] = this.state.pos;\n const pos = (()=>{\n if (p1 == 0) {\n if (p2 == 0 && !e.repeat && (left || up)) return null;\n }\n if (p1 == -1) {\n if (!e.repeat && (right || down) && input.selectionStart == input.value.length) return [\n 0,\n 0\n ];\n return null;\n }\n if (left || right) {\n let row = grid[p1];\n const increment = left ? -1 : 1;\n p2 += increment;\n if (!row[p2]) {\n p1 += increment;\n row = grid[p1];\n if (!row) {\n p1 = left ? 0 : grid.length - 1;\n p2 = left ? 0 : grid[p1].length - 1;\n return [\n p1,\n p2\n ];\n }\n p2 = left ? row.length - 1 : 0;\n }\n return [\n p1,\n p2\n ];\n }\n if (up || down) {\n p1 += up ? -1 : 1;\n const row = grid[p1];\n if (!row) {\n p1 = up ? 0 : grid.length - 1;\n p2 = up ? 0 : grid[p1].length - 1;\n return [\n p1,\n p2\n ];\n }\n if (!row[p2]) p2 = row.length - 1;\n return [\n p1,\n p2\n ];\n }\n })();\n if (pos) e.preventDefault();\n else {\n if (this.state.pos[0] > -1) this.setState({\n pos: [\n -1,\n -1\n ]\n });\n return;\n }\n this.setState({\n pos: pos,\n keyboard: true\n }, ()=>{\n this.scrollTo({\n row: pos[0]\n });\n });\n }\n scrollTo({ categoryId: categoryId , row: row }) {\n const grid = this.state.searchResults || this.grid;\n if (!grid.length) return;\n const scroll = this.refs.scroll.current;\n const scrollRect = scroll.getBoundingClientRect();\n let scrollTop = 0;\n if (row >= 0) categoryId = grid[row].__categoryId;\n if (categoryId) {\n const ref = this.refs[categoryId] || this.refs.categories.get(categoryId).root;\n const categoryRect = ref.current.getBoundingClientRect();\n scrollTop = categoryRect.top - (scrollRect.top - scroll.scrollTop) + 1;\n }\n if (row >= 0) {\n if (!row) scrollTop = 0;\n else {\n const rowIndex = grid[row].__index;\n const rowTop = scrollTop + rowIndex * this.props.emojiButtonSize;\n const rowBot = rowTop + this.props.emojiButtonSize + this.props.emojiButtonSize * 0.88;\n if (rowTop < scroll.scrollTop) scrollTop = rowTop;\n else if (rowBot > scroll.scrollTop + scrollRect.height) scrollTop = rowBot - scrollRect.height;\n else return;\n }\n }\n this.ignoreMouse();\n scroll.scrollTop = scrollTop;\n }\n ignoreMouse() {\n this.mouseIsIgnored = true;\n clearTimeout(this.ignoreMouseTimer);\n this.ignoreMouseTimer = setTimeout(()=>{\n delete this.mouseIsIgnored;\n }, 100);\n }\n handleEmojiOver(pos) {\n if (this.mouseIsIgnored || this.state.showSkins) return;\n this.setState({\n pos: pos || [\n -1,\n -1\n ],\n keyboard: false\n });\n }\n handleEmojiClick({ e: e , emoji: emoji , pos: pos }) {\n if (!this.props.onEmojiSelect) return;\n if (!emoji && pos) emoji = this.getEmojiByPos(pos);\n if (emoji) {\n const emojiData = (0, $693b183b0a78708f$export$d10ac59fbe52a745)(emoji, {\n skinIndex: this.state.skin - 1\n });\n if (this.props.maxFrequentRows) (0, $b22cfd0a55410b4f$export$2e2bcd8739ae039).add(emojiData, this.props);\n this.props.onEmojiSelect(emojiData, e);\n }\n }\n closeSkins() {\n if (!this.state.showSkins) return;\n this.setState({\n showSkins: null,\n tempSkin: null\n });\n this.base.removeEventListener(\"click\", this.handleBaseClick);\n this.base.removeEventListener(\"keydown\", this.handleBaseKeydown);\n }\n handleSkinMouseOver(tempSkin) {\n this.setState({\n tempSkin: tempSkin\n });\n }\n handleSkinClick(skin) {\n this.ignoreMouse();\n this.closeSkins();\n this.setState({\n skin: skin,\n tempSkin: null\n });\n (0, $f72b75cf796873c7$export$2e2bcd8739ae039).set(\"skin\", skin);\n }\n renderNav() {\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)((0, $ec8c39fdad15601a$export$2e2bcd8739ae039), {\n ref: this.refs.navigation,\n icons: this.props.icons,\n theme: this.state.theme,\n dir: this.dir,\n unfocused: !!this.state.searchResults,\n position: this.props.navPosition,\n onClick: this.handleCategoryClick\n }, this.navKey);\n }\n renderPreview() {\n const emoji = this.getEmojiByPos(this.state.pos);\n const noSearchResults = this.state.searchResults && !this.state.searchResults.length;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n id: \"preview\",\n class: \"flex flex-middle\",\n dir: this.dir,\n \"data-position\": this.props.previewPosition,\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"flex flex-middle flex-grow\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"flex flex-auto flex-middle flex-center\",\n style: {\n height: this.props.emojiButtonSize,\n fontSize: this.props.emojiButtonSize\n },\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)((0, $254755d3f438722f$export$2e2bcd8739ae039), {\n emoji: emoji,\n id: noSearchResults ? this.props.noResultsEmoji || \"cry\" : this.props.previewEmoji || (this.props.previewPosition == \"top\" ? \"point_down\" : \"point_up\"),\n set: this.props.set,\n size: this.props.emojiButtonSize,\n skin: this.state.tempSkin || this.state.skin,\n spritesheet: true,\n getSpritesheetURL: this.props.getSpritesheetURL\n })\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: `margin-${this.dir[0]}`,\n children: emoji || noSearchResults ? /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: `padding-${this.dir[2]} align-${this.dir[0]}`,\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"preview-title ellipsis\",\n children: emoji ? emoji.name : (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).search_no_results_1\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"preview-subtitle ellipsis color-c\",\n children: emoji ? emoji.skins[0].shortcodes : (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).search_no_results_2\n })\n ]\n }) : /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"preview-placeholder color-c\",\n children: (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).pick\n })\n })\n ]\n }),\n !emoji && this.props.skinTonePosition == \"preview\" && this.renderSkinToneButton()\n ]\n });\n }\n renderEmojiButton(emoji, { pos: pos , posinset: posinset , grid: grid }) {\n const size = this.props.emojiButtonSize;\n const skin = this.state.tempSkin || this.state.skin;\n const emojiSkin = emoji.skins[skin - 1] || emoji.skins[0];\n const native = emojiSkin.native;\n const selected = (0, $693b183b0a78708f$export$9cb4719e2e525b7a)(this.state.pos, pos);\n const key = pos.concat(emoji.id).join(\"\");\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)((0, $e0d4dda61265ff1e$export$2e2bcd8739ae039), {\n selected: selected,\n skin: skin,\n size: size,\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"button\", {\n \"aria-label\": native,\n \"aria-selected\": selected || undefined,\n \"aria-posinset\": posinset,\n \"aria-setsize\": grid.setsize,\n \"data-keyboard\": this.state.keyboard,\n title: this.props.previewPosition == \"none\" ? emoji.name : undefined,\n type: \"button\",\n class: \"flex flex-center flex-middle\",\n tabindex: \"-1\",\n onClick: (e)=>this.handleEmojiClick({\n e: e,\n emoji: emoji\n }),\n onMouseEnter: ()=>this.handleEmojiOver(pos),\n onMouseLeave: ()=>this.handleEmojiOver(),\n style: {\n width: this.props.emojiButtonSize,\n height: this.props.emojiButtonSize,\n fontSize: this.props.emojiSize,\n lineHeight: 0\n },\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n \"aria-hidden\": \"true\",\n class: \"background\",\n style: {\n borderRadius: this.props.emojiButtonRadius,\n backgroundColor: this.props.emojiButtonColors ? this.props.emojiButtonColors[(posinset - 1) % this.props.emojiButtonColors.length] : undefined\n }\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)((0, $254755d3f438722f$export$2e2bcd8739ae039), {\n emoji: emoji,\n set: this.props.set,\n size: this.props.emojiSize,\n skin: skin,\n spritesheet: true,\n getSpritesheetURL: this.props.getSpritesheetURL\n })\n ]\n })\n }, key);\n }\n renderSearch() {\n const renderSkinTone = this.props.previewPosition == \"none\" || this.props.skinTonePosition == \"search\";\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"spacer\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"flex flex-middle\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"search relative flex-grow\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"input\", {\n type: \"search\",\n ref: this.refs.searchInput,\n placeholder: (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).search,\n onClick: this.handleSearchClick,\n onInput: this.handleSearchInput,\n onKeyDown: this.handleSearchKeyDown,\n autoComplete: \"off\"\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n class: \"icon loupe flex\",\n children: (0, $fcccfb36ed0cde68$export$2e2bcd8739ae039).search.loupe\n }),\n this.state.searchResults && /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"button\", {\n title: \"Clear\",\n \"aria-label\": \"Clear\",\n type: \"button\",\n class: \"icon delete flex\",\n onClick: this.clearSearch,\n onMouseDown: this.preventDefault,\n children: (0, $fcccfb36ed0cde68$export$2e2bcd8739ae039).search.delete\n })\n ]\n }),\n renderSkinTone && this.renderSkinToneButton()\n ]\n })\n ]\n });\n }\n renderSearchResults() {\n const { searchResults: searchResults } = this.state;\n if (!searchResults) return null;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"category\",\n ref: this.refs.search,\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: `sticky padding-small align-${this.dir[0]}`,\n children: (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).categories.search\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n children: !searchResults.length ? /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: `padding-small align-${this.dir[0]}`,\n children: this.props.onAddCustomEmoji && /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"a\", {\n onClick: this.props.onAddCustomEmoji,\n children: (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).add_custom\n })\n }) : searchResults.map((row, i)=>{\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"flex\",\n children: row.map((emoji, ii)=>{\n return this.renderEmojiButton(emoji, {\n pos: [\n i,\n ii\n ],\n posinset: i * this.props.perLine + ii + 1,\n grid: searchResults\n });\n })\n });\n })\n })\n ]\n });\n }\n renderCategories() {\n const { categories: categories } = (0, $7adb23b0109cc36a$export$2d0294657ab35f1b);\n const hidden = !!this.state.searchResults;\n const perLine = this.getPerLine();\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n style: {\n visibility: hidden ? \"hidden\" : undefined,\n display: hidden ? \"none\" : undefined,\n height: \"100%\"\n },\n children: categories.map((category)=>{\n const { root: root , rows: rows } = this.refs.categories.get(category.id);\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n \"data-id\": category.target ? category.target.id : category.id,\n class: \"category\",\n ref: root,\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: `sticky padding-small align-${this.dir[0]}`,\n children: category.name || (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).categories[category.id]\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"relative\",\n style: {\n height: rows.length * this.props.emojiButtonSize\n },\n children: rows.map((row, i)=>{\n const targetRow = row.index - row.index % $89bd6bb200cc8fef$var$Performance.rowsPerRender;\n const visible = this.state.visibleRows[targetRow];\n const ref = \"current\" in row ? row : undefined;\n if (!visible && !ref) return null;\n const start = i * perLine;\n const end = start + perLine;\n const emojiIds = category.emojis.slice(start, end);\n if (emojiIds.length < perLine) emojiIds.push(...new Array(perLine - emojiIds.length));\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n \"data-index\": row.index,\n ref: ref,\n class: \"flex row\",\n style: {\n top: i * this.props.emojiButtonSize\n },\n children: visible && emojiIds.map((emojiId, ii)=>{\n if (!emojiId) return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n style: {\n width: this.props.emojiButtonSize,\n height: this.props.emojiButtonSize\n }\n });\n const emoji = (0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).get(emojiId);\n return this.renderEmojiButton(emoji, {\n pos: [\n row.index,\n ii\n ],\n posinset: row.posinset + ii,\n grid: this.grid\n });\n })\n }, row.index);\n })\n })\n ]\n });\n })\n });\n }\n renderSkinToneButton() {\n if (this.props.skinTonePosition == \"none\") return null;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"flex flex-auto flex-center flex-middle\",\n style: {\n position: \"relative\",\n width: this.props.emojiButtonSize,\n height: this.props.emojiButtonSize\n },\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"button\", {\n type: \"button\",\n ref: this.refs.skinToneButton,\n class: \"skin-tone-button flex flex-auto flex-center flex-middle\",\n \"aria-selected\": this.state.showSkins ? \"\" : undefined,\n \"aria-label\": (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).skins.choose,\n title: (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).skins.choose,\n onClick: this.openSkins,\n style: {\n width: this.props.emojiSize,\n height: this.props.emojiSize\n },\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n class: `skin-tone skin-tone-${this.state.skin}`\n })\n })\n });\n }\n renderLiveRegion() {\n const emoji = this.getEmojiByPos(this.state.pos);\n const contents = emoji ? emoji.name : \"\";\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n \"aria-live\": \"polite\",\n class: \"sr-only\",\n children: contents\n });\n }\n renderSkins() {\n const skinToneButton = this.refs.skinToneButton.current;\n const skinToneButtonRect = skinToneButton.getBoundingClientRect();\n const baseRect = this.base.getBoundingClientRect();\n const position = {};\n if (this.dir == \"ltr\") position.right = baseRect.right - skinToneButtonRect.right - 3;\n else position.left = skinToneButtonRect.left - baseRect.left - 3;\n if (this.props.previewPosition == \"bottom\" && this.props.skinTonePosition == \"preview\") position.bottom = baseRect.bottom - skinToneButtonRect.top + 6;\n else {\n position.top = skinToneButtonRect.bottom - baseRect.top + 3;\n position.bottom = \"auto\";\n }\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n ref: this.refs.menu,\n role: \"radiogroup\",\n dir: this.dir,\n \"aria-label\": (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).skins.choose,\n class: \"menu hidden\",\n \"data-position\": position.top ? \"top\" : \"bottom\",\n style: position,\n children: [\n ...Array(6).keys()\n ].map((i)=>{\n const skin = i + 1;\n const checked = this.state.skin == skin;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"input\", {\n type: \"radio\",\n name: \"skin-tone\",\n value: skin,\n \"aria-label\": (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).skins[skin],\n ref: checked ? this.refs.skinToneRadio : null,\n defaultChecked: checked,\n onChange: ()=>this.handleSkinMouseOver(skin),\n onKeyDown: (e)=>{\n if (e.code == \"Enter\" || e.code == \"Space\" || e.code == \"Tab\") {\n e.preventDefault();\n this.handleSkinClick(skin);\n }\n }\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"button\", {\n \"aria-hidden\": \"true\",\n tabindex: \"-1\",\n onClick: ()=>this.handleSkinClick(skin),\n onMouseEnter: ()=>this.handleSkinMouseOver(skin),\n onMouseLeave: ()=>this.handleSkinMouseOver(),\n class: \"option flex flex-grow flex-middle\",\n children: [\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n class: `skin-tone skin-tone-${skin}`\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"span\", {\n class: \"margin-small-lr\",\n children: (0, $7adb23b0109cc36a$export$dbe3113d60765c1a).skins[skin]\n })\n ]\n })\n ]\n });\n })\n });\n }\n render() {\n const lineWidth = this.props.perLine * this.props.emojiButtonSize;\n return /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"section\", {\n id: \"root\",\n class: \"flex flex-column\",\n dir: this.dir,\n style: {\n width: this.props.dynamicWidth ? \"100%\" : `calc(${lineWidth}px + (var(--padding) + var(--sidebar-width)))`\n },\n \"data-emoji-set\": this.props.set,\n \"data-theme\": this.state.theme,\n \"data-menu\": this.state.showSkins ? \"\" : undefined,\n children: [\n this.props.previewPosition == \"top\" && this.renderPreview(),\n this.props.navPosition == \"top\" && this.renderNav(),\n this.props.searchPosition == \"sticky\" && /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n class: \"padding-lr\",\n children: this.renderSearch()\n }),\n /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n ref: this.refs.scroll,\n class: \"scroll flex-grow padding-lr\",\n children: /*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)(\"div\", {\n style: {\n width: this.props.dynamicWidth ? \"100%\" : lineWidth,\n height: \"100%\"\n },\n children: [\n this.props.searchPosition == \"static\" && this.renderSearch(),\n this.renderSearchResults(),\n this.renderCategories()\n ]\n })\n }),\n this.props.navPosition == \"bottom\" && this.renderNav(),\n this.props.previewPosition == \"bottom\" && this.renderPreview(),\n this.state.showSkins && this.renderSkins(),\n this.renderLiveRegion()\n ]\n });\n }\n constructor(props){\n super();\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"darkMediaCallback\", ()=>{\n if (this.props.theme != \"auto\") return;\n this.setState({\n theme: this.darkMedia.matches ? \"dark\" : \"light\"\n });\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleClickOutside\", (e)=>{\n const { element: element } = this.props;\n if (e.target != element) {\n if (this.state.showSkins) this.closeSkins();\n if (this.props.onClickOutside) this.props.onClickOutside(e);\n }\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleBaseClick\", (e)=>{\n if (!this.state.showSkins) return;\n if (!e.target.closest(\".menu\")) {\n e.preventDefault();\n e.stopImmediatePropagation();\n this.closeSkins();\n }\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleBaseKeydown\", (e)=>{\n if (!this.state.showSkins) return;\n if (e.key == \"Escape\") {\n e.preventDefault();\n e.stopImmediatePropagation();\n this.closeSkins();\n }\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleSearchClick\", ()=>{\n const emoji = this.getEmojiByPos(this.state.pos);\n if (!emoji) return;\n this.setState({\n pos: [\n -1,\n -1\n ]\n });\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleSearchInput\", async ()=>{\n const input = this.refs.searchInput.current;\n if (!input) return;\n const { value: value } = input;\n const searchResults = await (0, $c4d155af13ad4d4b$export$2e2bcd8739ae039).search(value);\n const afterRender = ()=>{\n if (!this.refs.scroll.current) return;\n this.refs.scroll.current.scrollTop = 0;\n };\n if (!searchResults) return this.setState({\n searchResults: searchResults,\n pos: [\n -1,\n -1\n ]\n }, afterRender);\n const pos = input.selectionStart == input.value.length ? [\n 0,\n 0\n ] : [\n -1,\n -1\n ];\n const grid = [];\n grid.setsize = searchResults.length;\n let row = null;\n for (let emoji of searchResults){\n if (!grid.length || row.length == this.getPerLine()) {\n row = [];\n row.__categoryId = \"search\";\n row.__index = grid.length;\n grid.push(row);\n }\n row.push(emoji);\n }\n this.ignoreMouse();\n this.setState({\n searchResults: grid,\n pos: pos\n }, afterRender);\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleSearchKeyDown\", (e)=>{\n // const specialKey = e.altKey || e.ctrlKey || e.metaKey\n const input = e.currentTarget;\n e.stopImmediatePropagation();\n switch(e.key){\n case \"ArrowLeft\":\n // if (specialKey) return\n // e.preventDefault()\n this.navigate({\n e: e,\n input: input,\n left: true\n });\n break;\n case \"ArrowRight\":\n // if (specialKey) return\n // e.preventDefault()\n this.navigate({\n e: e,\n input: input,\n right: true\n });\n break;\n case \"ArrowUp\":\n // if (specialKey) return\n // e.preventDefault()\n this.navigate({\n e: e,\n input: input,\n up: true\n });\n break;\n case \"ArrowDown\":\n // if (specialKey) return\n // e.preventDefault()\n this.navigate({\n e: e,\n input: input,\n down: true\n });\n break;\n case \"Enter\":\n e.preventDefault();\n this.handleEmojiClick({\n e: e,\n pos: this.state.pos\n });\n break;\n case \"Escape\":\n e.preventDefault();\n if (this.state.searchResults) this.clearSearch();\n else this.unfocusSearch();\n break;\n default:\n break;\n }\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"clearSearch\", ()=>{\n const input = this.refs.searchInput.current;\n if (!input) return;\n input.value = \"\";\n input.focus();\n this.handleSearchInput();\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"handleCategoryClick\", ({ category: category , i: i })=>{\n this.scrollTo(i == 0 ? {\n row: -1\n } : {\n categoryId: category.id\n });\n });\n (0, $c770c458706daa72$export$2e2bcd8739ae039)(this, \"openSkins\", (e)=>{\n const { currentTarget: currentTarget } = e;\n const rect = currentTarget.getBoundingClientRect();\n this.setState({\n showSkins: rect\n }, async ()=>{\n // Firefox requires 2 frames for the transition to consistenly work\n await (0, $693b183b0a78708f$export$e772c8ff12451969)(2);\n const menu = this.refs.menu.current;\n if (!menu) return;\n menu.classList.remove(\"hidden\");\n this.refs.skinToneRadio.current.focus();\n this.base.addEventListener(\"click\", this.handleBaseClick, true);\n this.base.addEventListener(\"keydown\", this.handleBaseKeydown, true);\n });\n });\n this.observers = [];\n this.state = {\n pos: [\n -1,\n -1\n ],\n perLine: this.initDynamicPerLine(props),\n visibleRows: {\n 0: true\n },\n ...this.getInitialState(props)\n };\n }\n}\n\n\n\n\n\n\n\n\n\nclass $efa000751917694d$export$2e2bcd8739ae039 extends (0, $26f27c338a96b1a6$export$2e2bcd8739ae039) {\n async connectedCallback() {\n const props = (0, $7adb23b0109cc36a$export$75fe5f91d452f94b)(this.props, (0, $b247ea80b67298d5$export$2e2bcd8739ae039), this);\n props.element = this;\n props.ref = (component)=>{\n this.component = component;\n };\n await (0, $7adb23b0109cc36a$export$2cd8252107eb640b)(props);\n if (this.disconnected) return;\n (0, $fb96b826c0c5f37a$export$b3890eb0ae9dca99)(/*#__PURE__*/ (0, $bd9dd35321b03dd4$export$34b9dba7ce09269b)((0, $89bd6bb200cc8fef$export$2e2bcd8739ae039), {\n ...props\n }), this.shadowRoot);\n }\n constructor(props){\n super(props, {\n styles: (0, (/*@__PURE__*/$parcel$interopDefault($329d53ba9fd7125f$exports)))\n });\n }\n}\n(0, $c770c458706daa72$export$2e2bcd8739ae039)($efa000751917694d$export$2e2bcd8739ae039, \"Props\", (0, $b247ea80b67298d5$export$2e2bcd8739ae039));\nif (typeof customElements !== \"undefined\" && !customElements.get(\"em-emoji-picker\")) customElements.define(\"em-emoji-picker\", $efa000751917694d$export$2e2bcd8739ae039);\n\n\nvar $329d53ba9fd7125f$exports = {};\n$329d53ba9fd7125f$exports = \":host {\\n width: min-content;\\n height: 435px;\\n min-height: 230px;\\n border-radius: var(--border-radius);\\n box-shadow: var(--shadow);\\n --border-radius: 10px;\\n --category-icon-size: 18px;\\n --font-family: -apple-system, BlinkMacSystemFont, \\\"Helvetica Neue\\\", sans-serif;\\n --font-size: 15px;\\n --preview-placeholder-size: 21px;\\n --preview-title-size: 1.1em;\\n --preview-subtitle-size: .9em;\\n --shadow-color: 0deg 0% 0%;\\n --shadow: .3px .5px 2.7px hsl(var(--shadow-color) / .14), .4px .8px 1px -3.2px hsl(var(--shadow-color) / .14), 1px 2px 2.5px -4.5px hsl(var(--shadow-color) / .14);\\n display: flex;\\n}\\n\\n[data-theme=\\\"light\\\"] {\\n --em-rgb-color: var(--rgb-color, 34, 36, 39);\\n --em-rgb-accent: var(--rgb-accent, 34, 102, 237);\\n --em-rgb-background: var(--rgb-background, 255, 255, 255);\\n --em-rgb-input: var(--rgb-input, 255, 255, 255);\\n --em-color-border: var(--color-border, rgba(0, 0, 0, .05));\\n --em-color-border-over: var(--color-border-over, rgba(0, 0, 0, .1));\\n}\\n\\n[data-theme=\\\"dark\\\"] {\\n --em-rgb-color: var(--rgb-color, 222, 222, 221);\\n --em-rgb-accent: var(--rgb-accent, 58, 130, 247);\\n --em-rgb-background: var(--rgb-background, 21, 22, 23);\\n --em-rgb-input: var(--rgb-input, 0, 0, 0);\\n --em-color-border: var(--color-border, rgba(255, 255, 255, .1));\\n --em-color-border-over: var(--color-border-over, rgba(255, 255, 255, .2));\\n}\\n\\n#root {\\n --color-a: rgb(var(--em-rgb-color));\\n --color-b: rgba(var(--em-rgb-color), .65);\\n --color-c: rgba(var(--em-rgb-color), .45);\\n --padding: 12px;\\n --padding-small: calc(var(--padding) / 2);\\n --sidebar-width: 16px;\\n --duration: 225ms;\\n --duration-fast: 125ms;\\n --duration-instant: 50ms;\\n --easing: cubic-bezier(.4, 0, .2, 1);\\n width: 100%;\\n text-align: left;\\n border-radius: var(--border-radius);\\n background-color: rgb(var(--em-rgb-background));\\n position: relative;\\n}\\n\\n@media (prefers-reduced-motion) {\\n #root {\\n --duration: 0;\\n --duration-fast: 0;\\n --duration-instant: 0;\\n }\\n}\\n\\n#root[data-menu] button {\\n cursor: auto;\\n}\\n\\n#root[data-menu] .menu button {\\n cursor: pointer;\\n}\\n\\n:host, #root, input, button {\\n color: rgb(var(--em-rgb-color));\\n font-family: var(--font-family);\\n font-size: var(--font-size);\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n line-height: normal;\\n}\\n\\n*, :before, :after {\\n box-sizing: border-box;\\n min-width: 0;\\n margin: 0;\\n padding: 0;\\n}\\n\\n.relative {\\n position: relative;\\n}\\n\\n.flex {\\n display: flex;\\n}\\n\\n.flex-auto {\\n flex: none;\\n}\\n\\n.flex-center {\\n justify-content: center;\\n}\\n\\n.flex-column {\\n flex-direction: column;\\n}\\n\\n.flex-grow {\\n flex: auto;\\n}\\n\\n.flex-middle {\\n align-items: center;\\n}\\n\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n\\n.padding {\\n padding: var(--padding);\\n}\\n\\n.padding-t {\\n padding-top: var(--padding);\\n}\\n\\n.padding-lr {\\n padding-left: var(--padding);\\n padding-right: var(--padding);\\n}\\n\\n.padding-r {\\n padding-right: var(--padding);\\n}\\n\\n.padding-small {\\n padding: var(--padding-small);\\n}\\n\\n.padding-small-b {\\n padding-bottom: var(--padding-small);\\n}\\n\\n.padding-small-lr {\\n padding-left: var(--padding-small);\\n padding-right: var(--padding-small);\\n}\\n\\n.margin {\\n margin: var(--padding);\\n}\\n\\n.margin-r {\\n margin-right: var(--padding);\\n}\\n\\n.margin-l {\\n margin-left: var(--padding);\\n}\\n\\n.margin-small-l {\\n margin-left: var(--padding-small);\\n}\\n\\n.margin-small-lr {\\n margin-left: var(--padding-small);\\n margin-right: var(--padding-small);\\n}\\n\\n.align-l {\\n text-align: left;\\n}\\n\\n.align-r {\\n text-align: right;\\n}\\n\\n.color-a {\\n color: var(--color-a);\\n}\\n\\n.color-b {\\n color: var(--color-b);\\n}\\n\\n.color-c {\\n color: var(--color-c);\\n}\\n\\n.ellipsis {\\n white-space: nowrap;\\n max-width: 100%;\\n width: auto;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n}\\n\\n.sr-only {\\n width: 1px;\\n height: 1px;\\n position: absolute;\\n top: auto;\\n left: -10000px;\\n overflow: hidden;\\n}\\n\\na {\\n cursor: pointer;\\n color: rgb(var(--em-rgb-accent));\\n}\\n\\na:hover {\\n text-decoration: underline;\\n}\\n\\n.spacer {\\n height: 10px;\\n}\\n\\n[dir=\\\"rtl\\\"] .scroll {\\n padding-left: 0;\\n padding-right: var(--padding);\\n}\\n\\n.scroll {\\n padding-right: 0;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.scroll::-webkit-scrollbar {\\n width: var(--sidebar-width);\\n height: var(--sidebar-width);\\n}\\n\\n.scroll::-webkit-scrollbar-track {\\n border: 0;\\n}\\n\\n.scroll::-webkit-scrollbar-button {\\n width: 0;\\n height: 0;\\n display: none;\\n}\\n\\n.scroll::-webkit-scrollbar-corner {\\n background-color: rgba(0, 0, 0, 0);\\n}\\n\\n.scroll::-webkit-scrollbar-thumb {\\n min-height: 20%;\\n min-height: 65px;\\n border: 4px solid rgb(var(--em-rgb-background));\\n border-radius: 8px;\\n}\\n\\n.scroll::-webkit-scrollbar-thumb:hover {\\n background-color: var(--em-color-border-over) !important;\\n}\\n\\n.scroll:hover::-webkit-scrollbar-thumb {\\n background-color: var(--em-color-border);\\n}\\n\\n.sticky {\\n z-index: 1;\\n background-color: rgba(var(--em-rgb-background), .9);\\n -webkit-backdrop-filter: blur(4px);\\n backdrop-filter: blur(4px);\\n font-weight: 500;\\n position: sticky;\\n top: -1px;\\n}\\n\\n[dir=\\\"rtl\\\"] .search input[type=\\\"search\\\"] {\\n padding: 10px 2.2em 10px 2em;\\n}\\n\\n[dir=\\\"rtl\\\"] .search .loupe {\\n left: auto;\\n right: .7em;\\n}\\n\\n[dir=\\\"rtl\\\"] .search .delete {\\n left: .7em;\\n right: auto;\\n}\\n\\n.search {\\n z-index: 2;\\n position: relative;\\n}\\n\\n.search input, .search button {\\n font-size: calc(var(--font-size) - 1px);\\n}\\n\\n.search input[type=\\\"search\\\"] {\\n width: 100%;\\n background-color: var(--em-color-border);\\n transition-duration: var(--duration);\\n transition-property: background-color, box-shadow;\\n transition-timing-function: var(--easing);\\n border: 0;\\n border-radius: 10px;\\n outline: 0;\\n padding: 10px 2em 10px 2.2em;\\n display: block;\\n}\\n\\n.search input[type=\\\"search\\\"]::-ms-input-placeholder {\\n color: inherit;\\n opacity: .6;\\n}\\n\\n.search input[type=\\\"search\\\"]::placeholder {\\n color: inherit;\\n opacity: .6;\\n}\\n\\n.search input[type=\\\"search\\\"], .search input[type=\\\"search\\\"]::-webkit-search-decoration, .search input[type=\\\"search\\\"]::-webkit-search-cancel-button, .search input[type=\\\"search\\\"]::-webkit-search-results-button, .search input[type=\\\"search\\\"]::-webkit-search-results-decoration {\\n -webkit-appearance: none;\\n -ms-appearance: none;\\n appearance: none;\\n}\\n\\n.search input[type=\\\"search\\\"]:focus {\\n background-color: rgb(var(--em-rgb-input));\\n box-shadow: inset 0 0 0 1px rgb(var(--em-rgb-accent)), 0 1px 3px rgba(65, 69, 73, .2);\\n}\\n\\n.search .icon {\\n z-index: 1;\\n color: rgba(var(--em-rgb-color), .7);\\n position: absolute;\\n top: 50%;\\n transform: translateY(-50%);\\n}\\n\\n.search .loupe {\\n pointer-events: none;\\n left: .7em;\\n}\\n\\n.search .delete {\\n right: .7em;\\n}\\n\\nsvg {\\n fill: currentColor;\\n width: 1em;\\n height: 1em;\\n}\\n\\nbutton {\\n -webkit-appearance: none;\\n -ms-appearance: none;\\n appearance: none;\\n cursor: pointer;\\n color: currentColor;\\n background-color: rgba(0, 0, 0, 0);\\n border: 0;\\n}\\n\\n#nav {\\n z-index: 2;\\n padding-top: 12px;\\n padding-bottom: 12px;\\n padding-right: var(--sidebar-width);\\n position: relative;\\n}\\n\\n#nav button {\\n color: var(--color-b);\\n transition: color var(--duration) var(--easing);\\n}\\n\\n#nav button:hover {\\n color: var(--color-a);\\n}\\n\\n#nav svg, #nav img {\\n width: var(--category-icon-size);\\n height: var(--category-icon-size);\\n}\\n\\n#nav[dir=\\\"rtl\\\"] .bar {\\n left: auto;\\n right: 0;\\n}\\n\\n#nav .bar {\\n width: 100%;\\n height: 3px;\\n background-color: rgb(var(--em-rgb-accent));\\n transition: transform var(--duration) var(--easing);\\n border-radius: 3px 3px 0 0;\\n position: absolute;\\n bottom: -12px;\\n left: 0;\\n}\\n\\n#nav button[aria-selected] {\\n color: rgb(var(--em-rgb-accent));\\n}\\n\\n#preview {\\n z-index: 2;\\n padding: calc(var(--padding) + 4px) var(--padding);\\n padding-right: var(--sidebar-width);\\n position: relative;\\n}\\n\\n#preview .preview-placeholder {\\n font-size: var(--preview-placeholder-size);\\n}\\n\\n#preview .preview-title {\\n font-size: var(--preview-title-size);\\n}\\n\\n#preview .preview-subtitle {\\n font-size: var(--preview-subtitle-size);\\n}\\n\\n#nav:before, #preview:before {\\n content: \\\"\\\";\\n height: 2px;\\n position: absolute;\\n left: 0;\\n right: 0;\\n}\\n\\n#nav[data-position=\\\"top\\\"]:before, #preview[data-position=\\\"top\\\"]:before {\\n background: linear-gradient(to bottom, var(--em-color-border), transparent);\\n top: 100%;\\n}\\n\\n#nav[data-position=\\\"bottom\\\"]:before, #preview[data-position=\\\"bottom\\\"]:before {\\n background: linear-gradient(to top, var(--em-color-border), transparent);\\n bottom: 100%;\\n}\\n\\n.category:last-child {\\n min-height: calc(100% + 1px);\\n}\\n\\n.category button {\\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif;\\n position: relative;\\n}\\n\\n.category button > * {\\n position: relative;\\n}\\n\\n.category button .background {\\n opacity: 0;\\n background-color: var(--em-color-border);\\n transition: opacity var(--duration-fast) var(--easing) var(--duration-instant);\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n}\\n\\n.category button:hover .background {\\n transition-duration: var(--duration-instant);\\n transition-delay: 0s;\\n}\\n\\n.category button[aria-selected] .background {\\n opacity: 1;\\n}\\n\\n.category button[data-keyboard] .background {\\n transition: none;\\n}\\n\\n.row {\\n width: 100%;\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n.skin-tone-button {\\n border: 1px solid rgba(0, 0, 0, 0);\\n border-radius: 100%;\\n}\\n\\n.skin-tone-button:hover {\\n border-color: var(--em-color-border);\\n}\\n\\n.skin-tone-button:active .skin-tone {\\n transform: scale(.85) !important;\\n}\\n\\n.skin-tone-button .skin-tone {\\n transition: transform var(--duration) var(--easing);\\n}\\n\\n.skin-tone-button[aria-selected] {\\n background-color: var(--em-color-border);\\n border-top-color: rgba(0, 0, 0, .05);\\n border-bottom-color: rgba(0, 0, 0, 0);\\n border-left-width: 0;\\n border-right-width: 0;\\n}\\n\\n.skin-tone-button[aria-selected] .skin-tone {\\n transform: scale(.9);\\n}\\n\\n.menu {\\n z-index: 2;\\n white-space: nowrap;\\n border: 1px solid var(--em-color-border);\\n background-color: rgba(var(--em-rgb-background), .9);\\n -webkit-backdrop-filter: blur(4px);\\n backdrop-filter: blur(4px);\\n transition-property: opacity, transform;\\n transition-duration: var(--duration);\\n transition-timing-function: var(--easing);\\n border-radius: 10px;\\n padding: 4px;\\n position: absolute;\\n box-shadow: 1px 1px 5px rgba(0, 0, 0, .05);\\n}\\n\\n.menu.hidden {\\n opacity: 0;\\n}\\n\\n.menu[data-position=\\\"bottom\\\"] {\\n transform-origin: 100% 100%;\\n}\\n\\n.menu[data-position=\\\"bottom\\\"].hidden {\\n transform: scale(.9)rotate(-3deg)translateY(5%);\\n}\\n\\n.menu[data-position=\\\"top\\\"] {\\n transform-origin: 100% 0;\\n}\\n\\n.menu[data-position=\\\"top\\\"].hidden {\\n transform: scale(.9)rotate(3deg)translateY(-5%);\\n}\\n\\n.menu input[type=\\\"radio\\\"] {\\n clip: rect(0 0 0 0);\\n width: 1px;\\n height: 1px;\\n border: 0;\\n margin: 0;\\n padding: 0;\\n position: absolute;\\n overflow: hidden;\\n}\\n\\n.menu input[type=\\\"radio\\\"]:checked + .option {\\n box-shadow: 0 0 0 2px rgb(var(--em-rgb-accent));\\n}\\n\\n.option {\\n width: 100%;\\n border-radius: 6px;\\n padding: 4px 6px;\\n}\\n\\n.option:hover {\\n color: #fff;\\n background-color: rgb(var(--em-rgb-accent));\\n}\\n\\n.skin-tone {\\n width: 16px;\\n height: 16px;\\n border-radius: 100%;\\n display: inline-block;\\n position: relative;\\n overflow: hidden;\\n}\\n\\n.skin-tone:after {\\n content: \\\"\\\";\\n mix-blend-mode: overlay;\\n background: linear-gradient(rgba(255, 255, 255, .2), rgba(0, 0, 0, 0));\\n border: 1px solid rgba(0, 0, 0, .8);\\n border-radius: 100%;\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n box-shadow: inset 0 -2px 3px #000, inset 0 1px 2px #fff;\\n}\\n\\n.skin-tone-1 {\\n background-color: #ffc93a;\\n}\\n\\n.skin-tone-2 {\\n background-color: #ffdab7;\\n}\\n\\n.skin-tone-3 {\\n background-color: #e7b98f;\\n}\\n\\n.skin-tone-4 {\\n background-color: #c88c61;\\n}\\n\\n.skin-tone-5 {\\n background-color: #a46134;\\n}\\n\\n.skin-tone-6 {\\n background-color: #5d4437;\\n}\\n\\n[data-index] {\\n justify-content: space-between;\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone:after {\\n box-shadow: none;\\n border-color: rgba(0, 0, 0, .5);\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone-1 {\\n background-color: #fade72;\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone-2 {\\n background-color: #f3dfd0;\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone-3 {\\n background-color: #eed3a8;\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone-4 {\\n background-color: #cfad8d;\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone-5 {\\n background-color: #a8805d;\\n}\\n\\n[data-emoji-set=\\\"twitter\\\"] .skin-tone-6 {\\n background-color: #765542;\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone:after {\\n box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, .4);\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone-1 {\\n background-color: #f5c748;\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone-2 {\\n background-color: #f1d5aa;\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone-3 {\\n background-color: #d4b48d;\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone-4 {\\n background-color: #aa876b;\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone-5 {\\n background-color: #916544;\\n}\\n\\n[data-emoji-set=\\\"google\\\"] .skin-tone-6 {\\n background-color: #61493f;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone:after {\\n border-color: rgba(0, 0, 0, .4);\\n box-shadow: inset 0 -2px 3px #000, inset 0 1px 4px #fff;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone-1 {\\n background-color: #f5c748;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone-2 {\\n background-color: #f1d5aa;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone-3 {\\n background-color: #d4b48d;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone-4 {\\n background-color: #aa876b;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone-5 {\\n background-color: #916544;\\n}\\n\\n[data-emoji-set=\\\"facebook\\\"] .skin-tone-6 {\\n background-color: #61493f;\\n}\\n\\n\";\n\n\n\n\n\n\n\n\n\n\nexport {$efa000751917694d$export$2e2bcd8739ae039 as Picker, $331b4160623139bf$export$2e2bcd8739ae039 as Emoji, $b22cfd0a55410b4f$export$2e2bcd8739ae039 as FrequentlyUsed, $e6eae5155b87f591$export$bcb25aa587e9cb13 as SafeFlags, $c4d155af13ad4d4b$export$2e2bcd8739ae039 as SearchIndex, $f72b75cf796873c7$export$2e2bcd8739ae039 as Store, $7adb23b0109cc36a$export$2cd8252107eb640b as init, $7adb23b0109cc36a$export$2d0294657ab35f1b as Data, $7adb23b0109cc36a$export$dbe3113d60765c1a as I18n, $693b183b0a78708f$export$5ef5574deca44bc0 as getEmojiDataFromNative};\n//# sourceMappingURL=module.js.map\n","import $dvPge$react, {useRef as $dvPge$useRef, useEffect as $dvPge$useEffect} from \"react\";\nimport {Picker as $dvPge$Picker} from \"emoji-mart\";\n\n\n\nfunction $e5534fc185f7111e$export$2e2bcd8739ae039(props) {\n const ref = (0, $dvPge$useRef)(null);\n const instance = (0, $dvPge$useRef)(null);\n if (instance.current) instance.current.update(props);\n (0, $dvPge$useEffect)(()=>{\n instance.current = new (0, $dvPge$Picker)({\n ...props,\n ref: ref\n });\n return ()=>{\n instance.current = null;\n };\n }, []);\n return /*#__PURE__*/ (0, $dvPge$react).createElement(\"div\", {\n ref: ref\n });\n}\n\n\nexport {$e5534fc185f7111e$export$2e2bcd8739ae039 as default};\n//# sourceMappingURL=module.js.map\n","import React, { MutableRefObject, useEffect, useRef, useState } from \"react\";\nimport { FaceSmileIcon } from \"@heroicons/react/24/outline\";\nimport EmojiPicker from \"@emoji-mart/react\";\nimport { FieldValues, UseFormSetValue } from \"react-hook-form/dist/types\";\n\ntype Props = {\n rows?: number;\n emojis?: boolean;\n insertionVariables: string[];\n name: string;\n id: string;\n setValue: UseFormSetValue<FieldValues>;\n value: string;\n inputType?: \"textarea\" | \"input\";\n disabled?: boolean;\n [key: string]: any;\n};\n\nconst InsertableTextInput = React.forwardRef(\n (\n {\n rows = 1,\n emojis = false,\n insertionVariables,\n setValue,\n inputType = \"input\",\n name,\n disabled,\n ...props\n }: Props,\n ref\n ) => {\n const inputRef = useRef<HTMLTextAreaElement | HTMLInputElement | null>(\n null\n );\n\n // ça a l'air de marcher sans magiquement mais on met quand même :\n const [emojiData, setEmojiData] = useState({});\n useEffect(() => {\n (async () => {\n const response = await fetch(\n \"https://cdn.jsdelivr.net/npm/@emoji-mart/data\"\n );\n setEmojiData(await response.json());\n })();\n }, []);\n\n const insert = (inserted: string) => {\n if (inputRef?.current) {\n const { selectionStart, selectionEnd, value } = inputRef.current;\n if (\n typeof selectionStart === \"number\" &&\n typeof selectionEnd === \"number\"\n ) {\n // typeOf car 0 est compté comme false\n const newValue = (inputRef.current.value = `${value.slice(\n 0,\n selectionStart\n )}${inserted}${value.slice(selectionEnd)}`);\n // On met à jour les 2 champs (pour que l'input suive et que le form soit actualisé)\n inputRef.current.value = newValue;\n setValue(name, inputRef.current.value);\n\n inputRef?.current?.focus();\n setTimeout(() => {\n // Visiblement nécessaire\n if (inputRef.current) {\n inputRef.current.selectionStart =\n selectionStart + inserted.length;\n inputRef.current.selectionEnd = selectionStart + inserted.length;\n if (props?.onInsertionCallback) {\n props.onInsertionCallback();\n }\n }\n }, 10);\n }\n }\n };\n\n const [emojiSelectorOpen, setEmojiSelectorOpen] = useState(false);\n const onEmojiSelect = (e: any) => {\n insert(String.fromCodePoint(parseInt(e.unified, 16)));\n setEmojiSelectorOpen(false);\n };\n\n const refCallback = (el: HTMLInputElement | HTMLTextAreaElement | null) => {\n if (el) {\n // On accroche les 2 refs (inputRef -la notre- et ref - la leur, une fonction)\n (\n inputRef as MutableRefObject<HTMLInputElement | HTMLTextAreaElement>\n ).current = el;\n if (typeof ref === \"function\") {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }\n };\n\n return (\n <div className=\"relative\">\n <div className=\"flex space-x-2 overflow-x-auto\">\n {emojis && (\n <div\n onClick={() => {\n !disabled && setEmojiSelectorOpen(true);\n }}\n className={` text-gray-400 ${\n !disabled ? \"cursor-pointer hover:text-brand_main\" : \"\"\n }`}\n >\n <FaceSmileIcon className=\"inline w-5 h-5 mb-2\" />\n </div>\n )}\n {insertionVariables.map((variable) => (\n <div\n className={`text-sm font-medium text-gray-400 ${\n !disabled ? \"hover:text-brand_main cursor-pointer\" : \"\"\n }`}\n onClick={() => !disabled && insert(variable)}\n >\n {variable}\n </div>\n ))}\n </div>\n {emojis && (\n <div\n className={`${emojiSelectorOpen ? \"\" : \"hidden\"} absolute left-0 z-10`}\n >\n <EmojiPicker\n theme=\"light\"\n onClickOutside={() => {\n emojiSelectorOpen ? setEmojiSelectorOpen(false) : null;\n }}\n onEmojiSelect={onEmojiSelect}\n />\n </div>\n )}\n {inputType === \"textarea\" ? (\n <textarea\n disabled={disabled}\n ref={(el) => refCallback(el)}\n rows={rows}\n name={name}\n className=\"flex flex-1 w-full border-gray-300 rounded-md shadow-sm form-input focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n {...props}\n />\n ) : (\n <input\n disabled={disabled}\n ref={(el) => refCallback(el)}\n className=\"flex flex-1 w-full border-gray-300 rounded-md shadow-sm form-input focus:border-brand_focus focus:ring \nfocus:ring-brand_focus focus:ring-opacity-20\"\n name={name}\n {...props}\n />\n )}\n </div>\n );\n }\n);\n\nexport default InsertableTextInput;\n","import $HgANd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $HgANd$react).useLayoutEffect : ()=>{};\n\n\nexport {$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $lmaYr$useRef, useCallback as $lmaYr$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, $lmaYr$useRef)(null);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $lmaYr$useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\nexport {$8ae05eaa5c114e9c$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.module.js.map\n","const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\nexport {$431fbd86ca7dc216$export$b204af158042fbac as getOwnerDocument, $431fbd86ca7dc216$export$f21a1ffae260145a as getOwnerWindow};\n//# sourceMappingURL=domHelpers.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $c87311424ea30a05$var$testUserAgent(re) {\n var _window_navigator_userAgentData;\n if (typeof window === 'undefined' || window.navigator == null) return false;\n return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);\n}\nfunction $c87311424ea30a05$var$testPlatform(re) {\n var _window_navigator_userAgentData;\n return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;\n}\nfunction $c87311424ea30a05$var$cached(fn) {\n let res = null;\n return ()=>{\n if (res == null) res = fn();\n return res;\n };\n}\nconst $c87311424ea30a05$export$9ac100e40613ea10 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^Mac/i);\n});\nconst $c87311424ea30a05$export$186c6964ca17d99 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPhone/i);\n});\nconst $c87311424ea30a05$export$7bef049ce92e4224 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $c87311424ea30a05$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $c87311424ea30a05$export$fedb369cb70207f1 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$186c6964ca17d99() || $c87311424ea30a05$export$7bef049ce92e4224();\n});\nconst $c87311424ea30a05$export$e1865c3bedcd822b = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$export$9ac100e40613ea10() || $c87311424ea30a05$export$fedb369cb70207f1();\n});\nconst $c87311424ea30a05$export$78551043582a6a98 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/AppleWebKit/i) && !$c87311424ea30a05$export$6446a186d09e379e();\n});\nconst $c87311424ea30a05$export$6446a186d09e379e = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Chrome/i);\n});\nconst $c87311424ea30a05$export$a11b0059900ceec8 = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Android/i);\n});\nconst $c87311424ea30a05$export$b7d78993b74f766d = $c87311424ea30a05$var$cached(function() {\n return $c87311424ea30a05$var$testUserAgent(/Firefox/i);\n});\n\n\nexport {$c87311424ea30a05$export$9ac100e40613ea10 as isMac, $c87311424ea30a05$export$186c6964ca17d99 as isIPhone, $c87311424ea30a05$export$7bef049ce92e4224 as isIPad, $c87311424ea30a05$export$fedb369cb70207f1 as isIOS, $c87311424ea30a05$export$e1865c3bedcd822b as isAppleDevice, $c87311424ea30a05$export$78551043582a6a98 as isWebKit, $c87311424ea30a05$export$6446a186d09e379e as isChrome, $c87311424ea30a05$export$a11b0059900ceec8 as isAndroid, $c87311424ea30a05$export$b7d78993b74f766d as isFirefox};\n//# sourceMappingURL=platform.module.js.map\n","import {isAndroid as $c87311424ea30a05$export$a11b0059900ceec8} from \"./platform.mjs\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $6a7db85432448f7f$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.mozInputSource === 0 && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $6a7db85432448f7f$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, $c87311424ea30a05$export$a11b0059900ceec8)() && event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\nexport {$6a7db85432448f7f$export$60278871457622de as isVirtualClick, $6a7db85432448f7f$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=isVirtualEvent.module.js.map\n","import {useRef as $6dfIe$useRef, useCallback as $6dfIe$useCallback} from \"react\";\nimport {useLayoutEffect as $6dfIe$useLayoutEffect, useEffectEvent as $6dfIe$useEffectEvent} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nclass $8a9cb279dc87e130$export$905e7fc544a71f36 {\n isDefaultPrevented() {\n return this.nativeEvent.defaultPrevented;\n }\n preventDefault() {\n this.defaultPrevented = true;\n this.nativeEvent.preventDefault();\n }\n stopPropagation() {\n this.nativeEvent.stopPropagation();\n this.isPropagationStopped = ()=>true;\n }\n isPropagationStopped() {\n return false;\n }\n persist() {}\n constructor(type, nativeEvent){\n this.nativeEvent = nativeEvent;\n this.target = nativeEvent.target;\n this.currentTarget = nativeEvent.currentTarget;\n this.relatedTarget = nativeEvent.relatedTarget;\n this.bubbles = nativeEvent.bubbles;\n this.cancelable = nativeEvent.cancelable;\n this.defaultPrevented = nativeEvent.defaultPrevented;\n this.eventPhase = nativeEvent.eventPhase;\n this.isTrusted = nativeEvent.isTrusted;\n this.timeStamp = nativeEvent.timeStamp;\n this.type = type;\n }\n}\nfunction $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, $6dfIe$useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n (0, $6dfIe$useLayoutEffect)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n let dispatchBlur = (0, $6dfIe$useEffectEvent)((e)=>{\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n });\n // This function is called during a React onFocus event.\n return (0, $6dfIe$useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = e.target;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.\n dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n var _stateRef_current_observer;\n (_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();\n let relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n dispatchBlur\n ]);\n}\n\n\nexport {$8a9cb279dc87e130$export$905e7fc544a71f36 as SyntheticFocusEvent, $8a9cb279dc87e130$export$715c682d09d639cc as useSyntheticBlurEvent};\n//# sourceMappingURL=utils.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $hf0lj$useCallback} from \"react\";\nimport {getOwnerDocument as $hf0lj$getOwnerDocument} from \"@react-aria/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nfunction $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, $hf0lj$useCallback)((e)=>{\n if (e.target === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $hf0lj$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n const ownerDocument = (0, $hf0lj$getOwnerDocument)(e.target);\n if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\nexport {$a1ea59d68270f0dd$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.module.js.map\n","import {isMac as $28AnR$isMac, isVirtualClick as $28AnR$isVirtualClick, getOwnerWindow as $28AnR$getOwnerWindow, getOwnerDocument as $28AnR$getOwnerDocument} from \"@react-aria/utils\";\nimport {useState as $28AnR$useState, useEffect as $28AnR$useEffect} from \"react\";\nimport {useIsSSR as $28AnR$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\nlet $507fabe10e71c6fb$var$currentModality = null;\nlet $507fabe10e71c6fb$var$changeHandlers = new Set();\nlet $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\nlet $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {\n for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.\n */ function $507fabe10e71c6fb$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, $28AnR$isMac)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $507fabe10e71c6fb$var$handleKeyboardEvent(e) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n if ($507fabe10e71c6fb$var$isValidKey(e)) {\n $507fabe10e71c6fb$var$currentModality = 'keyboard';\n $507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handlePointerEvent(e) {\n $507fabe10e71c6fb$var$currentModality = 'pointer';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $507fabe10e71c6fb$var$handleClickEvent(e) {\n if ((0, $28AnR$isVirtualClick)(e)) {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n }\n}\nfunction $507fabe10e71c6fb$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n if (e.target === window || e.target === document) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {\n $507fabe10e71c6fb$var$currentModality = 'virtual';\n $507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);\n }\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;\n}\nfunction $507fabe10e71c6fb$var$handleWindowBlur() {\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $507fabe10e71c6fb$var$hasEventBeforeFocus = false;\n $507fabe10e71c6fb$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {\n if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get((0, $28AnR$getOwnerWindow)(element))) return;\n const windowObject = (0, $28AnR$getOwnerWindow)(element);\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n let focus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function() {\n $507fabe10e71c6fb$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n };\n documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, $28AnR$getOwnerWindow)(element);\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;\n windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;\n documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n } else {\n documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);\n }\n $507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $507fabe10e71c6fb$export$2f1888112f558a7d(element) {\n const documentObject = (0, $28AnR$getOwnerDocument)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();\nfunction $507fabe10e71c6fb$export$b9b3dfddab17db27() {\n return $507fabe10e71c6fb$var$currentModality !== 'pointer';\n}\nfunction $507fabe10e71c6fb$export$630ff653c5ada6a9() {\n return $507fabe10e71c6fb$var$currentModality;\n}\nfunction $507fabe10e71c6fb$export$8397ddfc504fdb9a(modality) {\n $507fabe10e71c6fb$var$currentModality = modality;\n $507fabe10e71c6fb$var$triggerChangeHandlers(modality, null);\n}\nfunction $507fabe10e71c6fb$export$98e20ec92f614cfe() {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, $28AnR$useState)($507fabe10e71c6fb$var$currentModality);\n (0, $28AnR$useEffect)(()=>{\n let handler = ()=>{\n setModality($507fabe10e71c6fb$var$currentModality);\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n }, []);\n return (0, $28AnR$useIsSSR)() ? null : modality;\n}\nconst $507fabe10e71c6fb$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that\n * focus visible style can be properly set.\n */ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n var _e_target;\n const IHTMLInputElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof window !== 'undefined' ? (0, $28AnR$getOwnerWindow)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;\n isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $507fabe10e71c6fb$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, $28AnR$useState)(autoFocus || $507fabe10e71c6fb$export$b9b3dfddab17db27());\n $507fabe10e71c6fb$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $507fabe10e71c6fb$var$setupGlobalFocusEvents();\n (0, $28AnR$useEffect)(()=>{\n let handler = (modality, e)=>{\n if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;\n fn($507fabe10e71c6fb$export$b9b3dfddab17db27());\n };\n $507fabe10e71c6fb$var$changeHandlers.add(handler);\n return ()=>{\n $507fabe10e71c6fb$var$changeHandlers.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\nexport {$507fabe10e71c6fb$export$d90243b58daecda7 as hasSetupGlobalListeners, $507fabe10e71c6fb$export$2f1888112f558a7d as addWindowFocusTracking, $507fabe10e71c6fb$export$b9b3dfddab17db27 as isFocusVisible, $507fabe10e71c6fb$export$630ff653c5ada6a9 as getInteractionModality, $507fabe10e71c6fb$export$8397ddfc504fdb9a as setInteractionModality, $507fabe10e71c6fb$export$98e20ec92f614cfe as useInteractionModality, $507fabe10e71c6fb$export$ffd9e5021c1fb2d6 as useFocusVisible, $507fabe10e71c6fb$export$ec71b4b83ac08ec3 as useFocusVisibleListener};\n//# sourceMappingURL=useFocusVisible.module.js.map\n","import {useSyntheticBlurEvent as $8a9cb279dc87e130$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useRef as $3b9Q0$useRef, useCallback as $3b9Q0$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $9ab94262bd0047c7$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, $3b9Q0$useRef)({\n isFocusWithin: false\n });\n let onBlur = (0, $3b9Q0$useCallback)((e)=>{\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {\n state.current.isFocusWithin = false;\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state\n ]);\n let onSyntheticFocus = (0, $8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);\n let onFocus = (0, $3b9Q0$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n if (!state.current.isFocusWithin && document.activeElement === e.target) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These should not have been null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\nexport {$9ab94262bd0047c7$export$420e68273165f4ec as useFocusWithin};\n//# sourceMappingURL=useFocusWithin.module.js.map\n","import {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n let state = (0, $AWxnT$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, $AWxnT$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","import {isFocusVisible as $isWE5$isFocusVisible, useFocusVisibleListener as $isWE5$useFocusVisibleListener, useFocus as $isWE5$useFocus, useFocusWithin as $isWE5$useFocusWithin} from \"@react-aria/interactions\";\nimport {useRef as $isWE5$useRef, useState as $isWE5$useState, useCallback as $isWE5$useCallback} from \"react\";\n\n\n\nfunction $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, $isWE5$useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, $isWE5$isFocusVisible)()\n });\n let [isFocused, setFocused] = (0, $isWE5$useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, $isWE5$useState)(()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, $isWE5$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, $isWE5$useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, $isWE5$useFocusVisibleListener)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [], {\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, $isWE5$useFocus)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, $isWE5$useFocusWithin)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\nexport {$f7dceffc5ad7768b$export$4e328f61c538687f as useFocusRing};\n//# sourceMappingURL=useFocusRing.module.js.map\n","var i=Object.defineProperty;var d=(t,e,n)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var r=(t,e,n)=>(d(t,typeof e!=\"symbol\"?e+\"\":e,n),n);class o{constructor(){r(this,\"current\",this.detect());r(this,\"handoffState\",\"pending\");r(this,\"currentId\",0)}set(e){this.current!==e&&(this.handoffState=\"pending\",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===\"server\"}get isClient(){return this.current===\"client\"}detect(){return typeof window==\"undefined\"||typeof document==\"undefined\"?\"server\":\"client\"}handoff(){this.handoffState===\"pending\"&&(this.handoffState=\"complete\")}get isHandoffComplete(){return this.handoffState===\"complete\"}}let s=new o;export{s as env};\n","import{env as n}from'./env.js';function u(r){return n.isServer?null:r instanceof Node?r.ownerDocument:r!=null&&r.hasOwnProperty(\"current\")&&r.current instanceof Node?r.current.ownerDocument:document}export{u as getOwnerDocument};\n","function t(e){typeof queueMicrotask==\"function\"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}))}export{t as microTask};\n","import{microTask as i}from'./micro-task.js';function o(){let n=[],r={addEventListener(e,t,s,a){return e.addEventListener(t,s,a),r.add(()=>e.removeEventListener(t,s,a))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return r.add(()=>cancelAnimationFrame(t))},nextFrame(...e){return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e))},setTimeout(...e){let t=setTimeout(...e);return r.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return i(()=>{t.current&&e[0]()}),r.add(()=>{t.current=!1})},style(e,t,s){let a=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:s}),this.add(()=>{Object.assign(e.style,{[t]:a})})},group(e){let t=o();return e(t),this.add(()=>t.dispose())},add(e){return n.includes(e)||n.push(e),()=>{let t=n.indexOf(e);if(t>=0)for(let s of n.splice(t,1))s()}},dispose(){for(let e of n.splice(0))e()}};return r}export{o as disposables};\n","import{useEffect as s,useState as o}from\"react\";import{disposables as t}from'../utils/disposables.js';function p(){let[e]=o(t);return s(()=>()=>e.dispose(),[e]),e}export{p as useDisposables};\n","import{useEffect as f,useLayoutEffect as c}from\"react\";import{env as i}from'../utils/env.js';let n=(e,t)=>{i.isServer?f(e,t):c(e,t)};export{n as useIsoMorphicEffect};\n","import{useRef as t}from\"react\";import{useIsoMorphicEffect as o}from'./use-iso-morphic-effect.js';function s(e){let r=t(e);return o(()=>{r.current=e},[e]),r}export{s as useLatestValue};\n","import a from\"react\";import{useLatestValue as n}from'./use-latest-value.js';let o=function(t){let e=n(t);return a.useCallback((...r)=>e.current(...r),[e])};export{o as useEvent};\n","import{useRef as a,useState as m}from\"react\";import{getOwnerDocument as d}from'../utils/owner.js';import{useDisposables as g}from'./use-disposables.js';import{useEvent as u}from'./use-event.js';function E(e){let t=e.width/2,n=e.height/2;return{top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function P(e,t){return!(!e||!t||e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom)}function w({disabled:e=!1}={}){let t=a(null),[n,l]=m(!1),r=g(),o=u(()=>{t.current=null,l(!1),r.dispose()}),f=u(s=>{if(r.dispose(),t.current===null){t.current=s.currentTarget,l(!0);{let i=d(s.currentTarget);r.addEventListener(i,\"pointerup\",o,!1),r.addEventListener(i,\"pointermove\",c=>{if(t.current){let p=E(c);l(P(p,t.current.getBoundingClientRect()))}},!1),r.addEventListener(i,\"pointercancel\",o,!1)}}});return{pressed:n,pressProps:e?{}:{onPointerDown:f,onPointerUp:o,onClick:o}}}export{w as useActivePress};\n","import n,{createContext as r,useContext as i}from\"react\";let e=r(void 0);function a(){return i(e)}function l({value:t,children:o}){return n.createElement(e.Provider,{value:t},o)}export{l as DisabledProvider,a as useDisabled};\n","function t(...r){return Array.from(new Set(r.flatMap(n=>typeof n==\"string\"?n.split(\" \"):[]))).filter(Boolean).join(\" \")}export{t as classNames};\n","function u(r,n,...a){if(r in n){let e=n[r];return typeof e==\"function\"?e(...a):e}let t=new Error(`Tried to handle \"${r}\" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`\"${e}\"`).join(\", \")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u),t}export{u as match};\n","import E,{Fragment as b,cloneElement as j,createElement as v,forwardRef as S,isValidElement as w,useCallback as x,useRef as k}from\"react\";import{classNames as N}from'./class-names.js';import{match as M}from'./match.js';var O=(a=>(a[a.None=0]=\"None\",a[a.RenderStrategy=1]=\"RenderStrategy\",a[a.Static=2]=\"Static\",a))(O||{}),A=(e=>(e[e.Unmount=0]=\"Unmount\",e[e.Hidden=1]=\"Hidden\",e))(A||{});function L(){let n=U();return x(r=>C({mergeRefs:n,...r}),[n])}function C({ourProps:n,theirProps:r,slot:e,defaultTag:a,features:s,visible:t=!0,name:l,mergeRefs:i}){i=i!=null?i:$;let o=P(r,n);if(t)return F(o,e,a,l,i);let y=s!=null?s:0;if(y&2){let{static:f=!1,...u}=o;if(f)return F(u,e,a,l,i)}if(y&1){let{unmount:f=!0,...u}=o;return M(f?0:1,{[0](){return null},[1](){return F({...u,hidden:!0,style:{display:\"none\"}},e,a,l,i)}})}return F(o,e,a,l,i)}function F(n,r={},e,a,s){let{as:t=e,children:l,refName:i=\"ref\",...o}=h(n,[\"unmount\",\"static\"]),y=n.ref!==void 0?{[i]:n.ref}:{},f=typeof l==\"function\"?l(r):l;\"className\"in o&&o.className&&typeof o.className==\"function\"&&(o.className=o.className(r)),o[\"aria-labelledby\"]&&o[\"aria-labelledby\"]===o.id&&(o[\"aria-labelledby\"]=void 0);let u={};if(r){let d=!1,p=[];for(let[c,T]of Object.entries(r))typeof T==\"boolean\"&&(d=!0),T===!0&&p.push(c.replace(/([A-Z])/g,g=>`-${g.toLowerCase()}`));if(d){u[\"data-headlessui-state\"]=p.join(\" \");for(let c of p)u[`data-${c}`]=\"\"}}if(t===b&&(Object.keys(m(o)).length>0||Object.keys(m(u)).length>0))if(!w(f)||Array.isArray(f)&&f.length>1){if(Object.keys(m(o)).length>0)throw new Error(['Passing props on \"Fragment\"!',\"\",`The current component <${a} /> is rendering a \"Fragment\".`,\"However we need to passthrough the following props:\",Object.keys(m(o)).concat(Object.keys(m(u))).map(d=>` - ${d}`).join(`\n`),\"\",\"You can apply a few solutions:\",['Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".',\"Render a single element as the child so that we can forward the props onto that element.\"].map(d=>` - ${d}`).join(`\n`)].join(`\n`))}else{let d=f.props,p=d==null?void 0:d.className,c=typeof p==\"function\"?(...R)=>N(p(...R),o.className):N(p,o.className),T=c?{className:c}:{},g=P(f.props,m(h(o,[\"ref\"])));for(let R in u)R in g&&delete u[R];return j(f,Object.assign({},g,u,y,{ref:s(H(f),y.ref)},T))}return v(t,Object.assign({},h(o,[\"ref\"]),t!==b&&y,t!==b&&u),f)}function U(){let n=k([]),r=x(e=>{for(let a of n.current)a!=null&&(typeof a==\"function\"?a(e):a.current=e)},[]);return(...e)=>{if(!e.every(a=>a==null))return n.current=e,r}}function $(...n){return n.every(r=>r==null)?void 0:r=>{for(let e of n)e!=null&&(typeof e==\"function\"?e(r):e.current=r)}}function P(...n){var a;if(n.length===0)return{};if(n.length===1)return n[0];let r={},e={};for(let s of n)for(let t in s)t.startsWith(\"on\")&&typeof s[t]==\"function\"?((a=e[t])!=null||(e[t]=[]),e[t].push(s[t])):r[t]=s[t];if(r.disabled||r[\"aria-disabled\"])for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s)&&(e[s]=[t=>{var l;return(l=t==null?void 0:t.preventDefault)==null?void 0:l.call(t)}]);for(let s in e)Object.assign(r,{[s](t,...l){let i=e[s];for(let o of i){if((t instanceof Event||(t==null?void 0:t.nativeEvent)instanceof Event)&&t.defaultPrevented)return;o(t,...l)}}});return r}function _(...n){var a;if(n.length===0)return{};if(n.length===1)return n[0];let r={},e={};for(let s of n)for(let t in s)t.startsWith(\"on\")&&typeof s[t]==\"function\"?((a=e[t])!=null||(e[t]=[]),e[t].push(s[t])):r[t]=s[t];for(let s in e)Object.assign(r,{[s](...t){let l=e[s];for(let i of l)i==null||i(...t)}});return r}function K(n){var r;return Object.assign(S(n),{displayName:(r=n.displayName)!=null?r:n.name})}function m(n){let r=Object.assign({},n);for(let e in r)r[e]===void 0&&delete r[e];return r}function h(n,r=[]){let e=Object.assign({},n);for(let a of r)a in e&&delete e[a];return e}function H(n){return E.version.split(\".\")[0]>=\"19\"?n.props.ref:n.ref}export{O as RenderFeatures,A as RenderStrategy,m as compact,K as forwardRefWithAs,_ as mergeProps,L as useRender};\n","import{useRef as o,useState as f}from\"react\";import{useEvent as a}from'./use-event.js';function T(l,r,c){let[i,s]=f(c),e=l!==void 0,t=o(e),u=o(!1),d=o(!1);return e&&!t.current&&!u.current?(u.current=!0,t.current=e,console.error(\"A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.\")):!e&&t.current&&!d.current&&(d.current=!0,t.current=e,console.error(\"A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.\")),[e?l:i,a(n=>(e||s(n),r==null?void 0:r(n)))]}export{T as useControllable};\n","import{useState as u}from\"react\";function l(e){let[t]=u(e);return t}export{l as useDefaultValue};\n","function e(i={},s=null,t=[]){for(let[r,n]of Object.entries(i))o(t,f(s,r),n);return t}function f(i,s){return i?i+\"[\"+s+\"]\":s}function o(i,s,t){if(Array.isArray(t))for(let[r,n]of t.entries())o(i,f(s,r.toString()),n);else t instanceof Date?i.push([s,t.toISOString()]):typeof t==\"boolean\"?i.push([s,t?\"1\":\"0\"]):typeof t==\"string\"?i.push([s,t]):typeof t==\"number\"?i.push([s,`${t}`]):t==null?i.push([s,\"\"]):e(t,s,i)}function p(i){var t,r;let s=(t=i==null?void 0:i.form)!=null?t:i.closest(\"form\");if(s){for(let n of s.elements)if(n!==i&&(n.tagName===\"INPUT\"&&n.type===\"submit\"||n.tagName===\"BUTTON\"&&n.type===\"submit\"||n.nodeName===\"INPUT\"&&n.type===\"image\")){n.click();return}(r=s.requestSubmit)==null||r.call(s)}}export{p as attemptSubmit,e as objectToFormEntries};\n","import{forwardRefWithAs as i,useRender as p}from'../utils/render.js';let a=\"span\";var s=(e=>(e[e.None=1]=\"None\",e[e.Focusable=2]=\"Focusable\",e[e.Hidden=4]=\"Hidden\",e))(s||{});function l(t,r){var n;let{features:d=1,...e}=t,o={ref:r,\"aria-hidden\":(d&2)===2?!0:(n=e[\"aria-hidden\"])!=null?n:void 0,hidden:(d&4)===4?!0:void 0,style:{position:\"fixed\",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\",...(d&4)===4&&(d&2)!==2&&{display:\"none\"}}};return p()({ourProps:o,theirProps:e,slot:{},defaultTag:a,name:\"Hidden\"})}let f=i(l);export{f as Hidden,s as HiddenFeatures};\n","import o,{createContext as H,useContext as E,useEffect as m,useState as u}from\"react\";import{createPortal as g}from\"react-dom\";import{useDisposables as h}from'../hooks/use-disposables.js';import{objectToFormEntries as x}from'../utils/form.js';import{compact as y}from'../utils/render.js';import{Hidden as l,HiddenFeatures as d}from'./hidden.js';let f=H(null);function W(t){let[e,r]=u(null);return o.createElement(f.Provider,{value:{target:e}},t.children,o.createElement(l,{features:d.Hidden,ref:r}))}function c({children:t}){let e=E(f);if(!e)return o.createElement(o.Fragment,null,t);let{target:r}=e;return r?g(o.createElement(o.Fragment,null,t),r):null}function j({data:t,form:e,disabled:r,onReset:n,overrides:F}){let[i,a]=u(null),p=h();return m(()=>{if(n&&i)return p.addEventListener(i,\"reset\",n)},[i,e,n]),o.createElement(c,null,o.createElement(C,{setForm:a,formId:e}),x(t).map(([s,v])=>o.createElement(l,{features:d.Hidden,...y({key:s,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,form:e,disabled:r,name:s,value:v,...F})})))}function C({setForm:t,formId:e}){return m(()=>{if(e){let r=document.getElementById(e);r&&t(r)}},[t,e]),e?null:o.createElement(l,{features:d.Hidden,as:\"input\",type:\"hidden\",hidden:!0,readOnly:!0,ref:r=>{if(!r)return;let n=r.closest(\"form\");n&&t(n)}})}export{j as FormFields,W as FormFieldsProvider,c as HoistFormFields};\n","import n,{createContext as d,useContext as i}from\"react\";let e=d(void 0);function u(){return i(e)}function f({id:t,children:r}){return n.createElement(e.Provider,{value:t},r)}export{f as IdProvider,u as useProvidedId};\n","function r(n){let e=n.parentElement,l=null;for(;e&&!(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement&&(l=e),e=e.parentElement;let t=(e==null?void 0:e.getAttribute(\"disabled\"))===\"\";return t&&i(l)?!1:t}function i(n){if(!n)return!1;let e=n.previousElementSibling;for(;e!==null;){if(e instanceof HTMLLegendElement)return!1;e=e.previousElementSibling}return!0}export{r as isDisabledReactIssue7711};\n","import{useEffect as l,useRef as i}from\"react\";import{useEvent as r}from'./use-event.js';let u=Symbol();function T(t,n=!0){return Object.assign(t,{[u]:n})}function y(...t){let n=i(t);l(()=>{n.current=t},[t]);let c=r(e=>{for(let o of n.current)o!=null&&(typeof o==\"function\"?o(e):o.current=e)});return t.every(e=>e==null||(e==null?void 0:e[u]))?void 0:c}export{T as optionalRef,y as useSyncRefs};\n","\"use client\";import m,{createContext as T,useContext as u,useMemo as c,useState as P}from\"react\";import{useEvent as g}from'../../hooks/use-event.js';import{useId as x}from'../../hooks/use-id.js';import{useIsoMorphicEffect as y}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as E}from'../../hooks/use-sync-refs.js';import{useDisabled as v}from'../../internal/disabled.js';import{forwardRefWithAs as R,useRender as I}from'../../utils/render.js';let a=T(null);a.displayName=\"DescriptionContext\";function f(){let r=u(a);if(r===null){let e=new Error(\"You used a <Description /> component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(e,f),e}return r}function U(){var r,e;return(e=(r=u(a))==null?void 0:r.value)!=null?e:void 0}function w(){let[r,e]=P([]);return[r.length>0?r.join(\" \"):void 0,c(()=>function(t){let i=g(n=>(e(s=>[...s,n]),()=>e(s=>{let o=s.slice(),p=o.indexOf(n);return p!==-1&&o.splice(p,1),o}))),l=c(()=>({register:i,slot:t.slot,name:t.name,props:t.props,value:t.value}),[i,t.slot,t.name,t.props,t.value]);return m.createElement(a.Provider,{value:l},t.children)},[e])]}let S=\"p\";function C(r,e){let d=x(),t=v(),{id:i=`headlessui-description-${d}`,...l}=r,n=f(),s=E(e);y(()=>n.register(i),[i,n.register]);let o=t||!1,p=c(()=>({...n.slot,disabled:o}),[n.slot,o]),D={ref:s,...n.props,id:i};return I()({ourProps:D,theirProps:l,slot:p,defaultTag:S,name:n.name||\"Description\"})}let _=R(C),H=Object.assign(_,{});export{H as Description,U as useDescribedBy,w as useDescriptions};\n","var o=(r=>(r.Space=\" \",r.Enter=\"Enter\",r.Escape=\"Escape\",r.Backspace=\"Backspace\",r.Delete=\"Delete\",r.ArrowLeft=\"ArrowLeft\",r.ArrowUp=\"ArrowUp\",r.ArrowRight=\"ArrowRight\",r.ArrowDown=\"ArrowDown\",r.Home=\"Home\",r.End=\"End\",r.PageUp=\"PageUp\",r.PageDown=\"PageDown\",r.Tab=\"Tab\",r))(o||{});export{o as Keys};\n","\"use client\";import R,{createContext as k,useContext as h,useMemo as T,useState as D}from\"react\";import{useEvent as v}from'../../hooks/use-event.js';import{useId as _}from'../../hooks/use-id.js';import{useIsoMorphicEffect as A}from'../../hooks/use-iso-morphic-effect.js';import{useSyncRefs as B}from'../../hooks/use-sync-refs.js';import{useDisabled as F}from'../../internal/disabled.js';import{useProvidedId as S}from'../../internal/id.js';import{forwardRefWithAs as M,useRender as H}from'../../utils/render.js';let c=k(null);c.displayName=\"LabelContext\";function P(){let r=h(c);if(r===null){let l=new Error(\"You used a <Label /> component, but it is not inside a relevant parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(l,P),l}return r}function I(r){var a,e,o;let l=(e=(a=h(c))==null?void 0:a.value)!=null?e:void 0;return((o=r==null?void 0:r.length)!=null?o:0)>0?[l,...r].filter(Boolean).join(\" \"):l}function K({inherit:r=!1}={}){let l=I(),[a,e]=D([]),o=r?[l,...a].filter(Boolean):a;return[o.length>0?o.join(\" \"):void 0,T(()=>function(t){let s=v(i=>(e(p=>[...p,i]),()=>e(p=>{let u=p.slice(),d=u.indexOf(i);return d!==-1&&u.splice(d,1),u}))),m=T(()=>({register:s,slot:t.slot,name:t.name,props:t.props,value:t.value}),[s,t.slot,t.name,t.props,t.value]);return R.createElement(c.Provider,{value:m},t.children)},[e])]}let N=\"label\";function G(r,l){var y;let a=_(),e=P(),o=S(),g=F(),{id:t=`headlessui-label-${a}`,htmlFor:s=o!=null?o:(y=e.props)==null?void 0:y.htmlFor,passive:m=!1,...i}=r,p=B(l);A(()=>e.register(t),[t,e.register]);let u=v(L=>{let b=L.currentTarget;if(b instanceof HTMLLabelElement&&L.preventDefault(),e.props&&\"onClick\"in e.props&&typeof e.props.onClick==\"function\"&&e.props.onClick(L),b instanceof HTMLLabelElement){let n=document.getElementById(b.htmlFor);if(n){let E=n.getAttribute(\"disabled\");if(E===\"true\"||E===\"\")return;let x=n.getAttribute(\"aria-disabled\");if(x===\"true\"||x===\"\")return;(n instanceof HTMLInputElement&&(n.type===\"radio\"||n.type===\"checkbox\")||n.role===\"radio\"||n.role===\"checkbox\"||n.role===\"switch\")&&n.click(),n.focus({preventScroll:!0})}}}),d=g||!1,C=T(()=>({...e.slot,disabled:d}),[e.slot,d]),f={ref:p,...e.props,id:t,htmlFor:s,onClick:u};return m&&(\"onClick\"in f&&(delete f.htmlFor,delete f.onClick),\"onClick\"in i&&delete i.onClick),H()({ourProps:f,theirProps:i,slot:C,defaultTag:s?N:\"div\",name:e.name||\"Label\"})}let U=M(G),Q=Object.assign(U,{});export{Q as Label,P as useLabelContext,I as useLabelledBy,K as useLabels};\n","\"use client\";import r,{createContext as n,useContext as i}from\"react\";let e=n(()=>{});function u(){return i(e)}function C({value:t,children:o}){return r.createElement(e.Provider,{value:t},o)}export{C as CloseProvider,u as useClose};\n","import{useCallback as n}from\"react\";function l(e,r){return e!==null&&r!==null&&typeof e==\"object\"&&typeof r==\"object\"&&\"id\"in e&&\"id\"in r?e.id===r.id:e===r}function u(e=l){return n((r,t)=>{if(typeof e==\"string\"){let o=e;return(r==null?void 0:r[o])===(t==null?void 0:t[o])}return e(r,t)},[e])}export{u as useByComparator};\n","import{useMemo as o,useReducer as h}from\"react\";import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';function f(e){if(e===null)return{width:0,height:0};let{width:t,height:r}=e.getBoundingClientRect();return{width:t,height:r}}function d(e,t=!1){let[r,u]=h(()=>({}),{}),i=o(()=>f(e),[e,r]);return s(()=>{if(!e)return;let n=new ResizeObserver(u);return n.observe(e),()=>{n.disconnect()}},[e]),t?{width:`${i.width}px`,height:`${i.height}px`}:i}export{d as useElementSize};\n","class a extends Map{constructor(t){super();this.factory=t}get(t){let e=super.get(t);return e===void 0&&(e=this.factory(t),this.set(t,e)),e}}export{a as DefaultMap};\n","function a(o,r){let t=o(),n=new Set;return{getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()))}}}export{a as createStore};\n","import{useSyncExternalStore as e}from\"react\";function o(t){return e(t.subscribe,t.getSnapshot,t.getSnapshot)}export{o as useStore};\n","import{useId as n}from\"react\";import{DefaultMap as f}from'../utils/default-map.js';import{createStore as u}from'../utils/store.js';import{useIsoMorphicEffect as c}from'./use-iso-morphic-effect.js';import{useStore as l}from'./use-store.js';let p=new f(()=>u(()=>[],{ADD(r){return this.includes(r)?this:[...this,r]},REMOVE(r){let e=this.indexOf(r);if(e===-1)return this;let t=this.slice();return t.splice(e,1),t}}));function x(r,e){let t=p.get(e),i=n(),h=l(t);if(c(()=>{if(r)return t.dispatch(\"ADD\",i),()=>t.dispatch(\"REMOVE\",i)},[t,r]),!r)return!1;let s=h.indexOf(i),o=h.length;return s===-1&&(s=o,o+=1),s===o-1}export{x as useIsTopLayer};\n","import{disposables as M}from'../utils/disposables.js';import{getOwnerDocument as b}from'../utils/owner.js';import{useIsTopLayer as L}from'./use-is-top-layer.js';import{useIsoMorphicEffect as T}from'./use-iso-morphic-effect.js';let f=new Map,u=new Map;function h(t){var e;let r=(e=u.get(t))!=null?e:0;return u.set(t,r+1),r!==0?()=>m(t):(f.set(t,{\"aria-hidden\":t.getAttribute(\"aria-hidden\"),inert:t.inert}),t.setAttribute(\"aria-hidden\",\"true\"),t.inert=!0,()=>m(t))}function m(t){var i;let r=(i=u.get(t))!=null?i:1;if(r===1?u.delete(t):u.set(t,r-1),r!==1)return;let e=f.get(t);e&&(e[\"aria-hidden\"]===null?t.removeAttribute(\"aria-hidden\"):t.setAttribute(\"aria-hidden\",e[\"aria-hidden\"]),t.inert=e.inert,f.delete(t))}function y(t,{allowed:r,disallowed:e}={}){let i=L(t,\"inert-others\");T(()=>{var d,c;if(!i)return;let a=M();for(let n of(d=e==null?void 0:e())!=null?d:[])n&&a.add(h(n));let s=(c=r==null?void 0:r())!=null?c:[];for(let n of s){if(!n)continue;let l=b(n);if(!l)continue;let o=n.parentElement;for(;o&&o!==l.body;){for(let p of o.children)s.some(E=>p.contains(E))||a.add(h(p));o=o.parentElement}}return a.dispose},[i,r,e])}export{y as useInertOthers};\n","import{useEffect as o}from\"react\";import{disposables as u}from'../utils/disposables.js';import{useLatestValue as c}from'./use-latest-value.js';function m(s,n,l){let i=c(t=>{let e=t.getBoundingClientRect();e.x===0&&e.y===0&&e.width===0&&e.height===0&&l()});o(()=>{if(!s)return;let t=n===null?null:n instanceof HTMLElement?n:n.current;if(!t)return;let e=u();if(typeof ResizeObserver!=\"undefined\"){let r=new ResizeObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect())}if(typeof IntersectionObserver!=\"undefined\"){let r=new IntersectionObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect())}return()=>e.dispose()},[n,i,s])}export{m as useOnDisappear};\n","import{disposables as N}from'./disposables.js';import{match as L}from'./match.js';import{getOwnerDocument as E}from'./owner.js';let f=[\"[contentEditable=true]\",\"[tabindex]\",\"a[href]\",\"area[href]\",\"button:not([disabled])\",\"iframe\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\"),p=[\"[data-autofocus]\"].map(e=>`${e}:not([tabindex='-1'])`).join(\",\");var F=(n=>(n[n.First=1]=\"First\",n[n.Previous=2]=\"Previous\",n[n.Next=4]=\"Next\",n[n.Last=8]=\"Last\",n[n.WrapAround=16]=\"WrapAround\",n[n.NoScroll=32]=\"NoScroll\",n[n.AutoFocus=64]=\"AutoFocus\",n))(F||{}),T=(o=>(o[o.Error=0]=\"Error\",o[o.Overflow=1]=\"Overflow\",o[o.Success=2]=\"Success\",o[o.Underflow=3]=\"Underflow\",o))(T||{}),y=(t=>(t[t.Previous=-1]=\"Previous\",t[t.Next=1]=\"Next\",t))(y||{});function b(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(f)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}function S(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(p)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]=\"Strict\",t[t.Loose=1]=\"Loose\",t))(h||{});function A(e,r=0){var t;return e===((t=E(e))==null?void 0:t.body)?!1:L(r,{[0](){return e.matches(f)},[1](){let u=e;for(;u!==null;){if(u.matches(f))return!0;u=u.parentElement}return!1}})}function G(e){let r=E(e);N().nextFrame(()=>{r&&!A(r.activeElement,0)&&I(e)})}var H=(t=>(t[t.Keyboard=0]=\"Keyboard\",t[t.Mouse=1]=\"Mouse\",t))(H||{});typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"keydown\",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0),document.addEventListener(\"click\",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=\"\")},!0));function I(e){e==null||e.focus({preventScroll:!0})}let w=[\"textarea\",\"input\"].join(\",\");function O(e){var r,t;return(t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,w))!=null?t:!1}function _(e,r=t=>t){return e.slice().sort((t,u)=>{let o=r(t),c=r(u);if(o===null||c===null)return 0;let l=o.compareDocumentPosition(c);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function j(e,r){return P(b(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:u=null,skipElements:o=[]}={}){let c=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,l=Array.isArray(e)?t?_(e):e:r&64?S(e):b(e);o.length>0&&l.length>1&&(l=l.filter(s=>!o.some(a=>a!=null&&\"current\"in a?(a==null?void 0:a.current)===s:a===s))),u=u!=null?u:c.activeElement;let n=(()=>{if(r&5)return 1;if(r&10)return-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),x=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,l.indexOf(u))-1;if(r&4)return Math.max(0,l.indexOf(u))+1;if(r&8)return l.length-1;throw new Error(\"Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last\")})(),M=r&32?{preventScroll:!0}:{},m=0,d=l.length,i;do{if(m>=d||m+d<=0)return 0;let s=x+m;if(r&16)s=(s+d)%d;else{if(s<0)return 3;if(s>=d)return 1}i=l[s],i==null||i.focus(M),m+=n}while(i!==c.activeElement);return r&6&&O(i)&&i.select(),2}export{F as Focus,T as FocusResult,h as FocusableMode,I as focusElement,j as focusFrom,P as focusIn,f as focusableSelector,S as getAutoFocusableElements,b as getFocusableElements,A as isFocusableElement,G as restoreFocusIfNecessary,_ as sortByDomNode};\n","function t(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i(){return/Android/gi.test(window.navigator.userAgent)}function n(){return t()||i()}export{i as isAndroid,t as isIOS,n as isMobile};\n","import{useEffect as c}from\"react\";import{useLatestValue as a}from'./use-latest-value.js';function i(t,e,o,n){let u=a(o);c(()=>{if(!t)return;function r(m){u.current(m)}return document.addEventListener(e,r,n),()=>document.removeEventListener(e,r,n)},[t,e,n])}export{i as useDocumentEvent};\n","import{useEffect as a}from\"react\";import{useLatestValue as f}from'./use-latest-value.js';function s(t,e,o,n){let i=f(o);a(()=>{if(!t)return;function r(d){i.current(d)}return window.addEventListener(e,r,n),()=>window.removeEventListener(e,r,n)},[t,e,n])}export{s as useWindowEvent};\n","import{useCallback as T,useRef as d}from\"react\";import{FocusableMode as y,isFocusableElement as M}from'../utils/focus-management.js';import{isMobile as g}from'../utils/platform.js';import{useDocumentEvent as c}from'./use-document-event.js';import{useIsTopLayer as L}from'./use-is-top-layer.js';import{useLatestValue as b}from'./use-latest-value.js';import{useWindowEvent as P}from'./use-window-event.js';const E=30;function R(p,f,C){let u=L(p,\"outside-click\"),m=b(C),s=T(function(e,n){if(e.defaultPrevented)return;let r=n(e);if(r===null||!r.getRootNode().contains(r)||!r.isConnected)return;let h=function l(o){return typeof o==\"function\"?l(o()):Array.isArray(o)||o instanceof Set?o:[o]}(f);for(let l of h)if(l!==null&&(l.contains(r)||e.composed&&e.composedPath().includes(l)))return;return!M(r,y.Loose)&&r.tabIndex!==-1&&e.preventDefault(),m.current(e,r)},[m,f]),i=d(null);c(u,\"pointerdown\",t=>{var e,n;i.current=((n=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:n[0])||t.target},!0),c(u,\"mousedown\",t=>{var e,n;i.current=((n=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:n[0])||t.target},!0),c(u,\"click\",t=>{g()||i.current&&(s(t,()=>i.current),i.current=null)},!0);let a=d({x:0,y:0});c(u,\"touchstart\",t=>{a.current.x=t.touches[0].clientX,a.current.y=t.touches[0].clientY},!0),c(u,\"touchend\",t=>{let e={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY};if(!(Math.abs(e.x-a.current.x)>=E||Math.abs(e.y-a.current.y)>=E))return s(t,()=>t.target instanceof HTMLElement?t.target:null)},!0),P(u,\"blur\",t=>s(t,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}export{R as useOutsideClick};\n","import{useMemo as t}from\"react\";import{getOwnerDocument as o}from'../utils/owner.js';function n(...e){return t(()=>o(...e),[...e])}export{n as useOwnerDocument};\n","import{useEffect as d}from\"react\";import{useLatestValue as s}from'./use-latest-value.js';function E(n,e,a,t){let i=s(a);d(()=>{n=n!=null?n:window;function r(o){i.current(o)}return n.addEventListener(e,r,t),()=>n.removeEventListener(e,r,t)},[n,e,t])}export{E as useEventListener};\n","import{useMemo as a}from\"react\";function e(t,u){return a(()=>{var n;if(t.type)return t.type;let r=(n=t.as)!=null?n:\"button\";if(typeof r==\"string\"&&r.toLowerCase()===\"button\"||(u==null?void 0:u.tagName)===\"BUTTON\"&&!u.hasAttribute(\"type\"))return\"button\"},[t.type,t.as,u])}export{e as useResolveButtonType};\n","function d(){let r;return{before({doc:e}){var l;let o=e.documentElement,t=(l=e.defaultView)!=null?l:window;r=Math.max(0,t.innerWidth-o.clientWidth)},after({doc:e,d:o}){let t=e.documentElement,l=Math.max(0,t.clientWidth-t.offsetWidth),n=Math.max(0,r-l);o.style(t,\"paddingRight\",`${n}px`)}}}export{d as adjustScrollbarPadding};\n","import{disposables as m}from'../../utils/disposables.js';import{isIOS as u}from'../../utils/platform.js';function d(){return u()?{before({doc:r,d:n,meta:c}){function o(a){return c.containers.flatMap(l=>l()).some(l=>l.contains(a))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!==\"auto\"){let t=m();t.style(r.documentElement,\"scrollBehavior\",\"auto\"),n.add(()=>n.microTask(()=>t.dispose()))}let a=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,\"click\",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest(\"a\");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!o(i)&&(l=i)}catch{}},!0),n.addEventListener(r,\"touchstart\",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&o(e.parentElement);)e=e.parentElement;n.style(e,\"overscrollBehavior\",\"contain\")}else n.style(t.target,\"touchAction\",\"none\")}),n.addEventListener(r,\"touchmove\",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName===\"INPUT\")return;if(o(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==\"\"&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===\"\"&&t.preventDefault()}else t.preventDefault()}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),l&&l.isConnected&&(l.scrollIntoView({block:\"nearest\"}),l=null)})})}}:{}}export{d as handleIOSLocking};\n","function r(){return{before({doc:e,d:o}){o.style(e.documentElement,\"overflow\",\"hidden\")}}}export{r as preventScroll};\n","import{disposables as s}from'../../utils/disposables.js';import{createStore as i}from'../../utils/store.js';import{adjustScrollbarPadding as l}from'./adjust-scrollbar-padding.js';import{handleIOSLocking as d}from'./handle-ios-locking.js';import{preventScroll as p}from'./prevent-scroll.js';function m(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a=i(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:s(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m(t)},c=[d(),l(),p()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});a.subscribe(()=>{let e=a.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)===\"hidden\",c=t.count!==0;(c&&!o||!c&&o)&&a.dispatch(t.count>0?\"SCROLL_PREVENT\":\"SCROLL_ALLOW\",t),t.count===0&&a.dispatch(\"TEARDOWN\",t)}});export{a as overflows};\n","import{useStore as s}from'../../hooks/use-store.js';import{useIsoMorphicEffect as u}from'../use-iso-morphic-effect.js';import{overflows as t}from'./overflow-store.js';function a(r,e,n=()=>({containers:[]})){let f=s(t),o=e?f.get(e):void 0,i=o?o.count>0:!1;return u(()=>{if(!(!e||!r))return t.dispatch(\"PUSH\",e,n),()=>t.dispatch(\"POP\",e,n)},[r,e]),i}export{a as useDocumentOverflowLockedEffect};\n","import{useDocumentOverflowLockedEffect as l}from'./document-overflow/use-document-overflow.js';import{useIsTopLayer as m}from'./use-is-top-layer.js';function f(e,c,n=()=>[document.body]){let r=m(e,\"scroll-lock\");l(r,c,t=>{var o;return{containers:[...(o=t.containers)!=null?o:[],n]}})}export{f as useScrollLock};\n","import{useRef as o}from\"react\";function t(e){return[e.screenX,e.screenY]}function u(){let e=o([-1,-1]);return{wasMoved(r){let n=t(r);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(r){e.current=t(r)}}}export{u as useTrackedPointer};\n","import{useCallback as r,useState as b}from\"react\";function c(u=0){let[t,l]=b(u),g=r(e=>l(e),[t]),s=r(e=>l(a=>a|e),[t]),m=r(e=>(t&e)===e,[t]),n=r(e=>l(a=>a&~e),[l]),F=r(e=>l(a=>a^e),[l]);return{flags:t,setFlag:g,addFlag:s,hasFlag:m,removeFlag:n,toggleFlag:F}}export{c as useFlags};\n","var T,b;import{useRef as c,useState as S}from\"react\";import{disposables as m}from'../utils/disposables.js';import{useDisposables as g}from'./use-disposables.js';import{useFlags as y}from'./use-flags.js';import{useIsoMorphicEffect as A}from'./use-iso-morphic-effect.js';typeof process!=\"undefined\"&&typeof globalThis!=\"undefined\"&&typeof Element!=\"undefined\"&&((T=process==null?void 0:process.env)==null?void 0:T[\"NODE_ENV\"])===\"test\"&&typeof((b=Element==null?void 0:Element.prototype)==null?void 0:b.getAnimations)==\"undefined\"&&(Element.prototype.getAnimations=function(){return console.warn([\"Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.\",\"Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.\",\"\",\"Example usage:\",\"```js\",\"import { mockAnimationsApi } from 'jsdom-testing-mocks'\",\"mockAnimationsApi()\",\"```\"].join(`\n`)),[]});var L=(r=>(r[r.None=0]=\"None\",r[r.Closed=1]=\"Closed\",r[r.Enter=2]=\"Enter\",r[r.Leave=4]=\"Leave\",r))(L||{});function R(t){let n={};for(let e in t)t[e]===!0&&(n[`data-${e}`]=\"\");return n}function x(t,n,e,i){let[r,o]=S(e),{hasFlag:s,addFlag:a,removeFlag:l}=y(t&&r?3:0),u=c(!1),f=c(!1),E=g();return A(()=>{var d;if(t){if(e&&o(!0),!n){e&&a(3);return}return(d=i==null?void 0:i.start)==null||d.call(i,e),C(n,{inFlight:u,prepare(){f.current?f.current=!1:f.current=u.current,u.current=!0,!f.current&&(e?(a(3),l(4)):(a(4),l(2)))},run(){f.current?e?(l(3),a(4)):(l(4),a(3)):e?l(1):a(1)},done(){var p;f.current&&typeof n.getAnimations==\"function\"&&n.getAnimations().length>0||(u.current=!1,l(7),e||o(!1),(p=i==null?void 0:i.end)==null||p.call(i,e))}})}},[t,e,n,E]),t?[r,{closed:s(1),enter:s(2),leave:s(4),transition:s(2)||s(4)}]:[e,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function C(t,{prepare:n,run:e,done:i,inFlight:r}){let o=m();return j(t,{prepare:n,inFlight:r}),o.nextFrame(()=>{e(),o.requestAnimationFrame(()=>{o.add(M(t,i))})}),o.dispose}function M(t,n){var o,s;let e=m();if(!t)return e.dispose;let i=!1;e.add(()=>{i=!0});let r=(s=(o=t.getAnimations)==null?void 0:o.call(t).filter(a=>a instanceof CSSTransition))!=null?s:[];return r.length===0?(n(),e.dispose):(Promise.allSettled(r.map(a=>a.finished)).then(()=>{i||n()}),e.dispose)}function j(t,{inFlight:n,prepare:e}){if(n!=null&&n.current){e();return}let i=t.style.transition;t.style.transition=\"none\",e(),t.offsetHeight,t.style.transition=i}export{R as transitionDataAttributes,x as useTransition};\n","import{useEffect as f,useRef as s}from\"react\";import{useEvent as i}from'./use-event.js';function m(u,t){let e=s([]),r=i(u);f(()=>{let o=[...e.current];for(let[a,l]of t.entries())if(e.current[a]!==l){let n=r(t,o);return e.current=t,n}},[r,...t])}export{m as useWatch};\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\n\nexport { TYPEABLE_SELECTOR, activeElement, contains, getDocument, getPlatform, getTarget, getUserAgent, isAndroid, isEventTargetWithin, isJSDOM, isMac, isMouseLikePointerType, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, stopEvent };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","import * as React from 'react';\nimport { useLayoutEffect, useEffect, useRef } from 'react';\nimport { stopEvent, getDocument, isMouseLikePointerType, contains, activeElement, isSafari, isTypeableCombobox, isVirtualClick, isVirtualPointerEvent, getTarget, getPlatform, isTypeableElement, isReactEvent, isRootElement, isEventTargetWithin, isMac, getUserAgent } from '@floating-ui/react/utils';\nimport { floor, evaluate, max, min, round } from '@floating-ui/utils';\nimport { getComputedStyle, isElement, getNodeName, isHTMLElement, getWindow, isLastTraversableNode, getParentNode, isWebKit } from '@floating-ui/utils/dom';\nimport { tabbable, isTabbable } from 'tabbable';\nimport * as ReactDOM from 'react-dom';\nimport { getOverflowAncestors, useFloating as useFloating$1, offset, detectOverflow } from '@floating-ui/react-dom';\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/react-dom';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/react-utils#usemergerefs\n */\nfunction useMergeRefs(refs) {\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref != null) {\n ref.current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nfunction isDifferentRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxIndex(listRef, disabledIndices) {\n return findNonDisabledIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n const list = listRef.current;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= list.length - 1 && isDisabled(list, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(elementsRef, _ref) {\n let {\n event,\n orientation,\n loop,\n rtl,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfBounds(elementsRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledIndex(elementsRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction buildCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isDisabled(list, index, disabledIndices) {\n if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = list[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nfunction areMapsEqual(map1, map2) {\n if (map1.size !== map2.size) {\n return false;\n }\n for (const [key, value] of map1.entries()) {\n if (value !== map2.get(key)) {\n return false;\n }\n }\n return true;\n}\nconst FloatingListContext = /*#__PURE__*/React.createContext({\n register: () => {},\n unregister: () => {},\n map: /*#__PURE__*/new Map(),\n elementsRef: {\n current: []\n }\n});\n/**\n * Provides context for a list of items within the floating element.\n * @see https://floating-ui.com/docs/FloatingList\n */\nfunction FloatingList(props) {\n const {\n children,\n elementsRef,\n labelsRef\n } = props;\n const [map, setMap] = React.useState(() => new Map());\n const register = React.useCallback(node => {\n setMap(prevMap => new Map(prevMap).set(node, null));\n }, []);\n const unregister = React.useCallback(node => {\n setMap(prevMap => {\n const map = new Map(prevMap);\n map.delete(node);\n return map;\n });\n }, []);\n index(() => {\n const newMap = new Map(map);\n const nodes = Array.from(newMap.keys()).sort(sortByDocumentPosition);\n nodes.forEach((node, index) => {\n newMap.set(node, index);\n });\n if (!areMapsEqual(map, newMap)) {\n setMap(newMap);\n }\n }, [map]);\n return /*#__PURE__*/React.createElement(FloatingListContext.Provider, {\n value: React.useMemo(() => ({\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n }), [register, unregister, map, elementsRef, labelsRef])\n }, children);\n}\n/**\n * Used to register a list item and its index (DOM position) in the\n * `FloatingList`.\n * @see https://floating-ui.com/docs/FloatingList#uselistitem\n */\nfunction useListItem(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n label\n } = props;\n const {\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n } = React.useContext(FloatingListContext);\n const [index$1, setIndex] = React.useState(null);\n const componentRef = React.useRef(null);\n const ref = React.useCallback(node => {\n componentRef.current = node;\n if (index$1 !== null) {\n elementsRef.current[index$1] = node;\n if (labelsRef) {\n var _node$textContent;\n const isLabelDefined = label !== undefined;\n labelsRef.current[index$1] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n }\n }\n }, [index$1, elementsRef, labelsRef, label]);\n index(() => {\n const node = componentRef.current;\n if (node) {\n register(node);\n return () => {\n unregister(node);\n };\n }\n }, [register, unregister]);\n index(() => {\n const index = componentRef.current ? map.get(componentRef.current) : null;\n if (index != null) {\n setIndex(index);\n }\n }, [map]);\n return React.useMemo(() => ({\n ref,\n index: index$1 == null ? -1 : index$1\n }), [index$1, ref]);\n}\n\nfunction renderJsx(render, computedProps) {\n if (typeof render === 'function') {\n return render(computedProps);\n }\n if (render) {\n return /*#__PURE__*/React.cloneElement(render, computedProps);\n }\n return /*#__PURE__*/React.createElement(\"div\", computedProps);\n}\nconst CompositeContext = /*#__PURE__*/React.createContext({\n activeIndex: 0,\n onNavigate: () => {}\n});\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\n\n/**\n * Creates a single tab stop whose items are navigated by arrow keys, which\n * provides list navigation outside of floating element contexts.\n *\n * This is useful to enable navigation of a list of items that aren’t part of a\n * floating element. A menubar is an example of a composite, with each reference\n * element being an item.\n * @see https://floating-ui.com/docs/Composite\n */\nconst Composite = /*#__PURE__*/React.forwardRef(function Composite(props, forwardedRef) {\n const {\n render,\n orientation = 'both',\n loop = true,\n rtl = false,\n cols = 1,\n disabledIndices,\n activeIndex: externalActiveIndex,\n onNavigate: externalSetActiveIndex,\n itemSizes,\n dense = false,\n ...domProps\n } = props;\n const [internalActiveIndex, internalSetActiveIndex] = React.useState(0);\n const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;\n const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);\n const elementsRef = React.useRef([]);\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const contextValue = React.useMemo(() => ({\n activeIndex,\n onNavigate\n }), [activeIndex, onNavigate]);\n const isGrid = cols > 1;\n function handleKeyDown(event) {\n if (!allKeys.includes(event.key)) return;\n let nextIndex = activeIndex;\n const minIndex = getMinIndex(elementsRef, disabledIndices);\n const maxIndex = getMaxIndex(elementsRef, disabledIndices);\n const horizontalEndKey = rtl ? ARROW_LEFT : ARROW_RIGHT;\n const horizontalStartKey = rtl ? ARROW_RIGHT : ARROW_LEFT;\n if (isGrid) {\n const sizes = itemSizes || Array.from({\n length: elementsRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(elementsRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(elementsRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const maybeNextIndex = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || elementsRef.current.map((_, index) => isDisabled(elementsRef.current, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(activeIndex > maxIndex ? minIndex : activeIndex, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction we're\n // moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === horizontalEndKey ? 'tr' : 'tl')\n })];\n if (maybeNextIndex != null) {\n nextIndex = maybeNextIndex;\n }\n }\n const toEndKeys = {\n horizontal: [horizontalEndKey],\n vertical: [ARROW_DOWN],\n both: [horizontalEndKey, ARROW_DOWN]\n }[orientation];\n const toStartKeys = {\n horizontal: [horizontalStartKey],\n vertical: [ARROW_UP],\n both: [horizontalStartKey, ARROW_UP]\n }[orientation];\n const preventedKeys = isGrid ? allKeys : {\n horizontal: horizontalKeys,\n vertical: verticalKeys,\n both: allKeys\n }[orientation];\n if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {\n if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {\n nextIndex = minIndex;\n } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledIndex(elementsRef, {\n startingIndex: nextIndex,\n decrement: toStartKeys.includes(event.key),\n disabledIndices\n });\n }\n }\n if (nextIndex !== activeIndex && !isIndexOutOfBounds(elementsRef, nextIndex)) {\n var _elementsRef$current$;\n event.stopPropagation();\n if (preventedKeys.includes(event.key)) {\n event.preventDefault();\n }\n onNavigate(nextIndex);\n (_elementsRef$current$ = elementsRef.current[nextIndex]) == null || _elementsRef$current$.focus();\n }\n }\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: forwardedRef,\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n onKeyDown(e) {\n domProps.onKeyDown == null || domProps.onKeyDown(e);\n renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e);\n handleKeyDown(e);\n }\n };\n return /*#__PURE__*/React.createElement(CompositeContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(FloatingList, {\n elementsRef: elementsRef\n }, renderJsx(render, computedProps)));\n});\n/**\n * @see https://floating-ui.com/docs/Composite\n */\nconst CompositeItem = /*#__PURE__*/React.forwardRef(function CompositeItem(props, forwardedRef) {\n const {\n render,\n ...domProps\n } = props;\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const {\n activeIndex,\n onNavigate\n } = React.useContext(CompositeContext);\n const {\n ref,\n index\n } = useListItem();\n const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);\n const isActive = activeIndex === index;\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: mergedRef,\n tabIndex: isActive ? 0 : -1,\n 'data-active': isActive ? '' : undefined,\n onFocus(e) {\n domProps.onFocus == null || domProps.onFocus(e);\n renderElementProps.onFocus == null || renderElementProps.onFocus(e);\n onNavigate(index);\n }\n };\n return renderJsx(render, computedProps);\n});\n\nfunction _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}\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => // Ensure the id is unique with multiple independent versions of Floating UI\n// on <React 18\n\"floating-ui-\" + Math.random().toString(36).slice(2, 6) + count++;\nfunction useFloatingId() {\n const [id, setId] = React.useState(() => serverHandoffComplete ? genId() : undefined);\n index(() => {\n if (id == null) {\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n React.useEffect(() => {\n serverHandoffComplete = true;\n }, []);\n return id;\n}\nconst useReactId = SafeReact.useId;\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/react-utils#useid\n */\nconst useId = useReactId || useFloatingId;\n\nlet devMessageSet;\nif (process.env.NODE_ENV !== \"production\") {\n devMessageSet = /*#__PURE__*/new Set();\n}\nfunction warn() {\n var _devMessageSet;\n for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {\n messages[_key] = arguments[_key];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {\n var _devMessageSet2;\n (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);\n console.warn(message);\n }\n}\nfunction error() {\n var _devMessageSet3;\n for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n messages[_key2] = arguments[_key2];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {\n var _devMessageSet4;\n (_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);\n console.error(message);\n }\n}\n\n/**\n * Renders a pointing arrow triangle.\n * @see https://floating-ui.com/docs/FloatingArrow\n */\nconst FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props, ref) {\n const {\n context: {\n placement,\n elements: {\n floating\n },\n middlewareData: {\n arrow,\n shift\n }\n },\n width = 14,\n height = 7,\n tipRadius = 0,\n strokeWidth = 0,\n staticOffset,\n stroke,\n d,\n style: {\n transform,\n ...restStyle\n } = {},\n ...rest\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (!ref) {\n warn('The `ref` prop is required for `FloatingArrow`.');\n }\n }\n const clipPathId = useId();\n const [isRTL, setIsRTL] = React.useState(false);\n\n // https://github.com/floating-ui/floating-ui/issues/2932\n index(() => {\n if (!floating) return;\n const isRTL = getComputedStyle(floating).direction === 'rtl';\n if (isRTL) {\n setIsRTL(true);\n }\n }, [floating]);\n if (!floating) {\n return null;\n }\n const [side, alignment] = placement.split('-');\n const isVerticalSide = side === 'top' || side === 'bottom';\n let computedStaticOffset = staticOffset;\n if (isVerticalSide && shift != null && shift.x || !isVerticalSide && shift != null && shift.y) {\n computedStaticOffset = null;\n }\n\n // Strokes must be double the border width, this ensures the stroke's width\n // works as you'd expect.\n const computedStrokeWidth = strokeWidth * 2;\n const halfStrokeWidth = computedStrokeWidth / 2;\n const svgX = width / 2 * (tipRadius / -8 + 1);\n const svgY = height / 2 * tipRadius / 4;\n const isCustomShape = !!d;\n const yOffsetProp = computedStaticOffset && alignment === 'end' ? 'bottom' : 'top';\n let xOffsetProp = computedStaticOffset && alignment === 'end' ? 'right' : 'left';\n if (computedStaticOffset && isRTL) {\n xOffsetProp = alignment === 'end' ? 'left' : 'right';\n }\n const arrowX = (arrow == null ? void 0 : arrow.x) != null ? computedStaticOffset || arrow.x : '';\n const arrowY = (arrow == null ? void 0 : arrow.y) != null ? computedStaticOffset || arrow.y : '';\n const dValue = d || 'M0,0' + (\" H\" + width) + (\" L\" + (width - svgX) + \",\" + (height - svgY)) + (\" Q\" + width / 2 + \",\" + height + \" \" + svgX + \",\" + (height - svgY)) + ' Z';\n const rotation = {\n top: isCustomShape ? 'rotate(180deg)' : '',\n left: isCustomShape ? 'rotate(90deg)' : 'rotate(-90deg)',\n bottom: isCustomShape ? '' : 'rotate(180deg)',\n right: isCustomShape ? 'rotate(-90deg)' : 'rotate(90deg)'\n }[side];\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, rest, {\n \"aria-hidden\": true,\n ref: ref,\n width: isCustomShape ? width : width + computedStrokeWidth,\n height: width,\n viewBox: \"0 0 \" + width + \" \" + (height > width ? height : width),\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n [xOffsetProp]: arrowX,\n [yOffsetProp]: arrowY,\n [side]: isVerticalSide || isCustomShape ? '100%' : \"calc(100% - \" + computedStrokeWidth / 2 + \"px)\",\n transform: [rotation, transform].filter(t => !!t).join(' '),\n ...restStyle\n }\n }), computedStrokeWidth > 0 && /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#\" + clipPathId + \")\",\n fill: \"none\",\n stroke: stroke\n // Account for the stroke on the fill path rendered below.\n ,\n strokeWidth: computedStrokeWidth + (d ? 0 : 1),\n d: dValue\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: computedStrokeWidth && !d ? rest.fill : 'none',\n d: dValue\n }), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: -halfStrokeWidth,\n y: halfStrokeWidth * (isCustomShape ? -1 : 1),\n width: width + computedStrokeWidth,\n height: width\n })));\n});\n\nfunction createPubSub() {\n const map = new Map();\n return {\n emit(event, data) {\n var _map$get;\n (_map$get = map.get(event)) == null || _map$get.forEach(handler => handler(data));\n },\n on(event, listener) {\n map.set(event, [...(map.get(event) || []), listener]);\n },\n off(event, listener) {\n var _map$get2;\n map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter(l => l !== listener)) || []);\n }\n };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nconst useFloatingParentNodeId = () => {\n var _React$useContext;\n return ((_React$useContext = React.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nconst useFloatingTree = () => React.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction useFloatingNodeId(customParentId) {\n const id = useId();\n const tree = useFloatingTree();\n const reactParentId = useFloatingParentNodeId();\n const parentId = customParentId || reactParentId;\n index(() => {\n const node = {\n id,\n parentId\n };\n tree == null || tree.addNode(node);\n return () => {\n tree == null || tree.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingNode(props) {\n const {\n children,\n id\n } = props;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/React.createElement(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId])\n }, children);\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingTree(props) {\n const {\n children\n } = props;\n const nodesRef = React.useRef([]);\n const addNode = React.useCallback(node => {\n nodesRef.current = [...nodesRef.current, node];\n }, []);\n const removeNode = React.useCallback(node => {\n nodesRef.current = nodesRef.current.filter(n => n !== node);\n }, []);\n const events = React.useState(() => createPubSub())[0];\n return /*#__PURE__*/React.createElement(FloatingTreeContext.Provider, {\n value: React.useMemo(() => ({\n nodesRef,\n addNode,\n removeNode,\n events\n }), [addNode, removeNode, events])\n }, children);\n}\n\nfunction createAttribute(name) {\n return \"data-floating-ui-\" + name;\n}\n\nfunction useLatestRef(value) {\n const ref = useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\nconst safePolygonIdentifier = /*#__PURE__*/createAttribute('safe-polygon');\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !isMouseLikePointerType(pointerType)) {\n return 0;\n }\n if (typeof value === 'number') {\n return value;\n }\n return value == null ? void 0 : value[prop];\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nfunction useHover(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n events,\n elements\n } = context;\n const {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true\n } = props;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const handleCloseRef = useLatestRef(handleClose);\n const delayRef = useLatestRef(delay);\n const openRef = useLatestRef(open);\n const pointerTypeRef = React.useRef();\n const timeoutRef = React.useRef(-1);\n const handlerRef = React.useRef();\n const restTimeoutRef = React.useRef(-1);\n const blockMouseMoveRef = React.useRef(true);\n const performedPointerEventsMutationRef = React.useRef(false);\n const unbindMouseMoveRef = React.useRef(() => {});\n const restTimeoutPendingRef = React.useRef(false);\n const isHoverOpen = React.useCallback(() => {\n var _dataRef$current$open;\n const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n }, [dataRef]);\n\n // When closing before opening, clear the delay timeouts to cancel it\n // from showing.\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n open\n } = _ref;\n if (!open) {\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n blockMouseMoveRef.current = true;\n restTimeoutPendingRef.current = false;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [enabled, events]);\n React.useEffect(() => {\n if (!enabled) return;\n if (!handleCloseRef.current) return;\n if (!open) return;\n function onLeave(event) {\n if (isHoverOpen()) {\n onOpenChange(false, event, 'hover');\n }\n }\n const html = getDocument(elements.floating).documentElement;\n html.addEventListener('mouseleave', onLeave);\n return () => {\n html.removeEventListener('mouseleave', onLeave);\n };\n }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);\n const closeWithDelay = React.useCallback(function (event, runElseBranch, reason) {\n if (runElseBranch === void 0) {\n runElseBranch = true;\n }\n if (reason === void 0) {\n reason = 'hover';\n }\n const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n } else if (runElseBranch) {\n clearTimeout(timeoutRef.current);\n onOpenChange(false, event, reason);\n }\n }, [delayRef, onOpenChange]);\n const cleanupMouseMoveHandler = useEffectEvent(() => {\n unbindMouseMoveRef.current();\n handlerRef.current = undefined;\n });\n const clearPointerEvents = useEffectEvent(() => {\n if (performedPointerEventsMutationRef.current) {\n const body = getDocument(elements.floating).body;\n body.style.pointerEvents = '';\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n const isClickLikeOpenEvent = useEffectEvent(() => {\n return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n });\n\n // Registering the mouse events on the reference directly to bypass React's\n // delegation system. If the cursor was on a disabled element and then entered\n // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n React.useEffect(() => {\n if (!enabled) return;\n function onMouseEnter(event) {\n clearTimeout(timeoutRef.current);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || restMs > 0 && !getDelay(delayRef.current, 'open')) {\n return;\n }\n const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = window.setTimeout(() => {\n if (!openRef.current) {\n onOpenChange(true, event, 'hover');\n }\n }, openDelay);\n } else if (!open) {\n onOpenChange(true, event, 'hover');\n }\n }\n function onMouseLeave(event) {\n if (isClickLikeOpenEvent()) return;\n unbindMouseMoveRef.current();\n const doc = getDocument(elements.floating);\n clearTimeout(restTimeoutRef.current);\n restTimeoutPendingRef.current = false;\n if (handleCloseRef.current && dataRef.current.floatingContext) {\n // Prevent clearing `onScrollMouseLeave` timeout.\n if (!open) {\n clearTimeout(timeoutRef.current);\n }\n handlerRef.current = handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event, true, 'safe-polygon');\n }\n }\n });\n const handler = handlerRef.current;\n doc.addEventListener('mousemove', handler);\n unbindMouseMoveRef.current = () => {\n doc.removeEventListener('mousemove', handler);\n };\n return;\n }\n\n // Allow interactivity without `safePolygon` on touch devices. With a\n // pointer, a short close delay is an alternative, so it should work\n // consistently.\n const shouldClose = pointerTypeRef.current === 'touch' ? !contains(elements.floating, event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n\n // Ensure the floating element closes after scrolling even if the pointer\n // did not move.\n // https://github.com/floating-ui/floating-ui/discussions/1692\n function onScrollMouseLeave(event) {\n if (isClickLikeOpenEvent()) return;\n if (!dataRef.current.floatingContext) return;\n handleCloseRef.current == null || handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event);\n }\n }\n })(event);\n }\n if (isElement(elements.domReference)) {\n var _elements$floating;\n const ref = elements.domReference;\n open && ref.addEventListener('mouseleave', onScrollMouseLeave);\n (_elements$floating = elements.floating) == null || _elements$floating.addEventListener('mouseleave', onScrollMouseLeave);\n move && ref.addEventListener('mousemove', onMouseEnter, {\n once: true\n });\n ref.addEventListener('mouseenter', onMouseEnter);\n ref.addEventListener('mouseleave', onMouseLeave);\n return () => {\n var _elements$floating2;\n open && ref.removeEventListener('mouseleave', onScrollMouseLeave);\n (_elements$floating2 = elements.floating) == null || _elements$floating2.removeEventListener('mouseleave', onScrollMouseLeave);\n move && ref.removeEventListener('mousemove', onMouseEnter);\n ref.removeEventListener('mouseenter', onMouseEnter);\n ref.removeEventListener('mouseleave', onMouseLeave);\n };\n }\n }, [elements, enabled, context, mouseOnly, restMs, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent]);\n\n // Block pointer-events of every element other than the reference and floating\n // while the floating element is open and has a `handleClose` handler. Also\n // handles nested floating elements.\n // https://github.com/floating-ui/floating-ui/issues/1722\n index(() => {\n var _handleCloseRef$curre;\n if (!enabled) return;\n if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && _handleCloseRef$curre.__options.blockPointerEvents && isHoverOpen()) {\n performedPointerEventsMutationRef.current = true;\n const floatingEl = elements.floating;\n if (isElement(elements.domReference) && floatingEl) {\n var _tree$nodesRef$curren;\n const body = getDocument(elements.floating).body;\n body.setAttribute(safePolygonIdentifier, '');\n const ref = elements.domReference;\n const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n body.style.pointerEvents = 'none';\n ref.style.pointerEvents = 'auto';\n floatingEl.style.pointerEvents = 'auto';\n return () => {\n body.style.pointerEvents = '';\n ref.style.pointerEvents = '';\n floatingEl.style.pointerEvents = '';\n };\n }\n }\n }, [enabled, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);\n index(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n restTimeoutPendingRef.current = false;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n React.useEffect(() => {\n return () => {\n cleanupMouseMoveHandler();\n clearTimeout(timeoutRef.current);\n clearTimeout(restTimeoutRef.current);\n clearPointerEvents();\n };\n }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);\n const reference = React.useMemo(() => {\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n const {\n nativeEvent\n } = event;\n function handleMouseMove() {\n if (!blockMouseMoveRef.current && !openRef.current) {\n onOpenChange(true, nativeEvent, 'hover');\n }\n }\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {\n return;\n }\n if (open || restMs === 0) {\n return;\n }\n\n // Ignore insignificant movements to account for tremors.\n if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {\n return;\n }\n clearTimeout(restTimeoutRef.current);\n if (pointerTypeRef.current === 'touch') {\n handleMouseMove();\n } else {\n restTimeoutPendingRef.current = true;\n restTimeoutRef.current = window.setTimeout(handleMouseMove, restMs);\n }\n }\n };\n }, [mouseOnly, onOpenChange, open, openRef, restMs]);\n const floating = React.useMemo(() => ({\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n onMouseLeave(event) {\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event.nativeEvent, false);\n }\n }\n }), [closeWithDelay, isClickLikeOpenEvent]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nconst NOOP = () => {};\nconst FloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n delay: 0,\n initialDelay: 0,\n timeoutMs: 0,\n currentId: null,\n setCurrentId: NOOP,\n setState: NOOP,\n isInstantPhase: false\n});\n\n/**\n * @deprecated\n * Use the return value of `useDelayGroup()` instead.\n */\nconst useDelayGroupContext = () => React.useContext(FloatingDelayGroupContext);\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction FloatingDelayGroup(props) {\n const {\n children,\n delay,\n timeoutMs = 0\n } = props;\n const [state, setState] = React.useReducer((prev, next) => ({\n ...prev,\n ...next\n }), {\n delay,\n timeoutMs,\n initialDelay: delay,\n currentId: null,\n isInstantPhase: false\n });\n const initialCurrentIdRef = React.useRef(null);\n const setCurrentId = React.useCallback(currentId => {\n setState({\n currentId\n });\n }, []);\n index(() => {\n if (state.currentId) {\n if (initialCurrentIdRef.current === null) {\n initialCurrentIdRef.current = state.currentId;\n } else if (!state.isInstantPhase) {\n setState({\n isInstantPhase: true\n });\n }\n } else {\n if (state.isInstantPhase) {\n setState({\n isInstantPhase: false\n });\n }\n initialCurrentIdRef.current = null;\n }\n }, [state.currentId, state.isInstantPhase]);\n return /*#__PURE__*/React.createElement(FloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n ...state,\n setState,\n setCurrentId\n }), [state, setCurrentId])\n }, children);\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `FloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useDelayGroup(context, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open,\n onOpenChange,\n floatingId\n } = context;\n const {\n id: optionId,\n enabled = true\n } = options;\n const id = optionId != null ? optionId : floatingId;\n const groupContext = useDelayGroupContext();\n const {\n currentId,\n setCurrentId,\n initialDelay,\n setState,\n timeoutMs\n } = groupContext;\n index(() => {\n if (!enabled) return;\n if (!currentId) return;\n setState({\n delay: {\n open: 1,\n close: getDelay(initialDelay, 'close')\n }\n });\n if (currentId !== id) {\n onOpenChange(false);\n }\n }, [enabled, id, onOpenChange, setState, currentId, initialDelay]);\n index(() => {\n function unset() {\n onOpenChange(false);\n setState({\n delay: initialDelay,\n currentId: null\n });\n }\n if (!enabled) return;\n if (!currentId) return;\n if (!open && currentId === id) {\n if (timeoutMs) {\n const timeout = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeout);\n };\n }\n unset();\n }\n }, [enabled, open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n index(() => {\n if (!enabled) return;\n if (setCurrentId === NOOP || !open) return;\n setCurrentId(id);\n }, [enabled, open, setCurrentId, id]);\n return groupContext;\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el == null ? void 0 : el.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\n\nfunction getAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction getChildren(nodes, id) {\n let allChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && ((_node$context = node.context) == null ? void 0 : _node$context.open);\n });\n let currentChildren = allChildren;\n while (currentChildren.length) {\n currentChildren = nodes.filter(node => {\n var _currentChildren;\n return (_currentChildren = currentChildren) == null ? void 0 : _currentChildren.some(n => {\n var _node$context2;\n return node.parentId === n.id && ((_node$context2 = node.context) == null ? void 0 : _node$context2.open);\n });\n });\n allChildren = allChildren.concat(currentChildren);\n }\n return allChildren;\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\n\n// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nlet counterMap = /*#__PURE__*/new WeakMap();\nlet uncontrolledElementsSet = /*#__PURE__*/new WeakSet();\nlet markerMap = {};\nlet lockCount$1 = 0;\nconst supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nconst unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n const markerName = 'data-floating-ui-inert';\n const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const elementsToKeep = new Set();\n const elementsToStop = new Set(avoidElements);\n const hiddenElements = [];\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n const markerCounter = markerMap[markerName];\n avoidElements.forEach(keep);\n deep(body);\n elementsToKeep.clear();\n function keep(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n el.parentNode && keep(el.parentNode);\n }\n function deep(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n [].forEach.call(parent.children, node => {\n if (getNodeName(node) === 'script') return;\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n const attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterValue = (counterMap.get(node) || 0) + 1;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledElementsSet.add(node);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n if (!alreadyHidden && controlAttribute) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n });\n }\n lockCount$1++;\n return () => {\n hiddenElements.forEach(element => {\n const counterValue = (counterMap.get(element) || 0) - 1;\n const markerValue = (markerCounter.get(element) || 0) - 1;\n counterMap.set(element, counterValue);\n markerCounter.set(element, markerValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet.delete(element);\n }\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n lockCount$1--;\n if (!lockCount$1) {\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledElementsSet = new WeakSet();\n markerMap = {};\n }\n };\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n if (ariaHidden === void 0) {\n ariaHidden = false;\n }\n if (inert === void 0) {\n inert = false;\n }\n const body = getDocument(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll('[aria-live]'))), body, ariaHidden, inert);\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, direction) {\n const allTabbable = tabbable(container, getTabbableOptions());\n if (direction === 'prev') {\n allTabbable.reverse();\n }\n const activeIndex = allTabbable.indexOf(activeElement(getDocument(container)));\n const nextTabbableElements = allTabbable.slice(activeIndex + 1);\n return nextTabbableElements[0];\n}\nfunction getNextTabbable() {\n return getTabbableIn(document.body, 'next');\n}\nfunction getPreviousTabbable() {\n return getTabbableIn(document.body, 'prev');\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\n// See Diego Haz's Sandbox for making this logic work well on Safari/iOS:\n// https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/FocusTrap.tsx\n\nconst HIDDEN_STYLES = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'fixed',\n whiteSpace: 'nowrap',\n width: '1px',\n top: 0,\n left: 0\n};\nlet timeoutId;\nfunction setActiveElementOnTab(event) {\n if (event.key === 'Tab') {\n event.target;\n clearTimeout(timeoutId);\n }\n}\nconst FocusGuard = /*#__PURE__*/React.forwardRef(function FocusGuard(props, ref) {\n const [role, setRole] = React.useState();\n index(() => {\n if (isSafari()) {\n // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n // on VoiceOver does trigger the onFocus event, so we can use the focus\n // trap element. On Safari, only buttons trigger the onFocus event.\n // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n // button role.\n setRole('button');\n }\n document.addEventListener('keydown', setActiveElementOnTab);\n return () => {\n document.removeEventListener('keydown', setActiveElementOnTab);\n };\n }, []);\n const restProps = {\n ref,\n tabIndex: 0,\n // Role is only for VoiceOver\n role,\n 'aria-hidden': role ? undefined : true,\n [createAttribute('focus-guard')]: '',\n style: HIDDEN_STYLES\n };\n return /*#__PURE__*/React.createElement(\"span\", _extends({}, props, restProps));\n});\n\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nconst attr = /*#__PURE__*/createAttribute('portal');\n/**\n * @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n */\nfunction useFloatingPortalNode(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n id,\n root\n } = props;\n const uniqueId = useId();\n const portalContext = usePortalContext();\n const [portalNode, setPortalNode] = React.useState(null);\n const portalNodeRef = React.useRef(null);\n index(() => {\n return () => {\n portalNode == null || portalNode.remove();\n // Allow the subsequent layout effects to create a new node on updates.\n // The portal node will still be cleaned up on unmount.\n // https://github.com/floating-ui/floating-ui/issues/2454\n queueMicrotask(() => {\n portalNodeRef.current = null;\n });\n };\n }, [portalNode]);\n index(() => {\n // Wait for the uniqueId to be generated before creating the portal node in\n // React <18 (using `useFloatingId` instead of the native `useId`).\n // https://github.com/floating-ui/floating-ui/issues/2778\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n const existingIdRoot = id ? document.getElementById(id) : null;\n if (!existingIdRoot) return;\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n existingIdRoot.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, uniqueId]);\n index(() => {\n // Wait for the root to exist before creating the portal node. The root must\n // be stored in state, not a ref, for this to work reactively.\n if (root === null) return;\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n let container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n if (container && !isElement(container)) container = container.current;\n container = container || document.body;\n let idWrapper = null;\n if (id) {\n idWrapper = document.createElement('div');\n idWrapper.id = id;\n container.appendChild(idWrapper);\n }\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n container = idWrapper || container;\n container.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, root, uniqueId, portalContext]);\n return portalNode;\n}\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nfunction FloatingPortal(props) {\n const {\n children,\n id,\n root,\n preserveTabOrder = true\n } = props;\n const portalNode = useFloatingPortalNode({\n id,\n root\n });\n const [focusManagerState, setFocusManagerState] = React.useState(null);\n const beforeOutsideRef = React.useRef(null);\n const afterOutsideRef = React.useRef(null);\n const beforeInsideRef = React.useRef(null);\n const afterInsideRef = React.useRef(null);\n const modal = focusManagerState == null ? void 0 : focusManagerState.modal;\n const open = focusManagerState == null ? void 0 : focusManagerState.open;\n const shouldRenderGuards =\n // The FocusManager and therefore floating element are currently open/\n // rendered.\n !!focusManagerState &&\n // Guards are only for non-modal focus management.\n !focusManagerState.modal &&\n // Don't render if unmount is transitioning.\n focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n React.useEffect(() => {\n if (!portalNode || !preserveTabOrder || modal) {\n return;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && isOutsideEvent(event)) {\n const focusing = event.type === 'focusin';\n const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n manageFocus(portalNode);\n }\n }\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n portalNode.addEventListener('focusin', onFocus, true);\n portalNode.addEventListener('focusout', onFocus, true);\n return () => {\n portalNode.removeEventListener('focusin', onFocus, true);\n portalNode.removeEventListener('focusout', onFocus, true);\n };\n }, [portalNode, preserveTabOrder, modal]);\n React.useEffect(() => {\n if (!portalNode) return;\n if (open) return;\n enableFocusInside(portalNode);\n }, [open, portalNode]);\n return /*#__PURE__*/React.createElement(PortalContext.Provider, {\n value: React.useMemo(() => ({\n preserveTabOrder,\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [preserveTabOrder, portalNode])\n }, shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _beforeInsideRef$curr;\n (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n } else {\n const prevTabbable = getPreviousTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n prevTabbable == null || prevTabbable.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(\"span\", {\n \"aria-owns\": portalNode.id,\n style: HIDDEN_STYLES\n }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _afterInsideRef$curre;\n (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n } else {\n const nextTabbable = getNextTabbable() || (focusManagerState == null ? void 0 : focusManagerState.refs.domReference.current);\n nextTabbable == null || nextTabbable.focus();\n (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent, 'focus-out'));\n }\n }\n }));\n}\nconst usePortalContext = () => React.useContext(PortalContext);\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nfunction getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction addPreviouslyFocusedElement(element) {\n previouslyFocusedElements = previouslyFocusedElements.filter(el => el.isConnected);\n let tabbableEl = element;\n if (!tabbableEl || getNodeName(tabbableEl) === 'body') return;\n if (!isTabbable(tabbableEl, getTabbableOptions())) {\n const tabbableChild = tabbable(tabbableEl, getTabbableOptions())[0];\n if (tabbableChild) {\n tabbableEl = tabbableChild;\n }\n }\n previouslyFocusedElements.push(tabbableEl);\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n }\n}\nfunction getPreviouslyFocusedElement() {\n return previouslyFocusedElements.slice().reverse().find(el => el.isConnected);\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/React.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n return /*#__PURE__*/React.createElement(\"button\", _extends({}, props, {\n type: \"button\",\n ref: ref,\n tabIndex: -1,\n style: HIDDEN_STYLES\n }));\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n order = ['content'],\n guards: _guards = true,\n initialFocus = 0,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n visuallyHiddenDismiss = false,\n closeOnFocusOut = true\n } = props;\n const {\n open,\n refs,\n nodeId,\n onOpenChange,\n events,\n dataRef,\n floatingId,\n elements: {\n domReference,\n floating\n }\n } = context;\n const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n\n // Force the guards to be rendered if the `inert` attribute is not supported.\n const guards = supportsInert() ? _guards : true;\n const orderRef = useLatestRef(order);\n const initialFocusRef = useLatestRef(initialFocus);\n const returnFocusRef = useLatestRef(returnFocus);\n const tree = useFloatingTree();\n const portalContext = usePortalContext();\n const startDismissButtonRef = React.useRef(null);\n const endDismissButtonRef = React.useRef(null);\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const tabbableIndexRef = React.useRef(-1);\n const isInsidePortal = portalContext != null;\n const floatingFocusElement = getFloatingFocusElement(floating);\n const getTabbableContent = useEffectEvent(function (container) {\n if (container === void 0) {\n container = floatingFocusElement;\n }\n return container ? tabbable(container, getTabbableOptions()) : [];\n });\n const getTabbableElements = useEffectEvent(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(type => {\n if (domReference && type === 'reference') {\n return domReference;\n }\n if (floatingFocusElement && type === 'floating') {\n return floatingFocusElement;\n }\n return content;\n }).filter(Boolean).flat();\n });\n React.useEffect(() => {\n if (disabled) return;\n if (!modal) return;\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains(floatingFocusElement, activeElement(getDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n const els = getTabbableElements();\n const target = getTarget(event);\n if (orderRef.current[0] === 'reference' && target === domReference) {\n stopEvent(event);\n if (event.shiftKey) {\n enqueueFocus(els[els.length - 1]);\n } else {\n enqueueFocus(els[1]);\n }\n }\n if (orderRef.current[1] === 'floating' && target === floatingFocusElement && event.shiftKey) {\n stopEvent(event);\n enqueueFocus(els[0]);\n }\n }\n }\n const doc = getDocument(floatingFocusElement);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n React.useEffect(() => {\n if (disabled) return;\n if (!floating) return;\n function handleFocusIn(event) {\n const target = getTarget(event);\n const tabbableContent = getTabbableContent();\n const tabbableIndex = tabbableContent.indexOf(target);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n }\n floating.addEventListener('focusin', handleFocusIn);\n return () => {\n floating.removeEventListener('focusin', handleFocusIn);\n };\n }, [disabled, floating, getTabbableContent]);\n React.useEffect(() => {\n if (disabled) return;\n if (!closeOnFocusOut) return;\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n setTimeout(() => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n queueMicrotask(() => {\n const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute('focus-guard')) || tree && (getChildren(tree.nodesRef.current, nodeId).find(node => {\n var _node$context, _node$context2;\n return contains((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n }) || getAncestors(tree.nodesRef.current, nodeId).find(node => {\n var _node$context3, _node$context4;\n return ((_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating) === relatedTarget || ((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.domReference) === relatedTarget;\n })));\n\n // Restore focus to the previous tabbable element index to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && movedToUnrelatedNode && activeElement(getDocument(floatingFocusElement)) === getDocument(floatingFocusElement).body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if (isHTMLElement(floatingFocusElement)) {\n floatingFocusElement.focus();\n }\n const prevTabbableIndex = tabbableIndexRef.current;\n const tabbableContent = getTabbableContent();\n const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n if (isHTMLElement(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n relatedTarget !== getPreviouslyFocusedElement()) {\n preventReturnFocusRef.current = true;\n onOpenChange(false, event, 'focus-out');\n }\n });\n }\n if (floating && isHTMLElement(domReference)) {\n domReference.addEventListener('focusout', handleFocusOutside);\n domReference.addEventListener('pointerdown', handlePointerDown);\n floating.addEventListener('focusout', handleFocusOutside);\n return () => {\n domReference.removeEventListener('focusout', handleFocusOutside);\n domReference.removeEventListener('pointerdown', handlePointerDown);\n floating.removeEventListener('focusout', handleFocusOutside);\n };\n }\n }, [disabled, domReference, floating, floatingFocusElement, modal, nodeId, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox]);\n React.useEffect(() => {\n var _portalContext$portal;\n if (disabled) return;\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute('portal') + \"]\")) || []);\n if (floating) {\n const insideElements = [floating, ...portalNodes, startDismissButtonRef.current, endDismissButtonRef.current, orderRef.current.includes('reference') || isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, guards, !guards) : markOthers(insideElements);\n return () => {\n cleanup();\n };\n }\n }, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards]);\n index(() => {\n if (disabled || !isHTMLElement(floatingFocusElement)) return;\n const doc = getDocument(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const focusableElements = getTabbableElements(floatingFocusElement);\n const initialFocusValue = initialFocusRef.current;\n const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;\n const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);\n if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusElement\n });\n }\n });\n }, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n index(() => {\n if (disabled || !floatingFocusElement) return;\n let preventReturnFocusScroll = false;\n const doc = getDocument(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n const contextData = dataRef.current;\n let openEvent = contextData.openEvent;\n addPreviouslyFocusedElement(previouslyFocusedElement);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChange(_ref) {\n let {\n open,\n reason,\n event,\n nested\n } = _ref;\n if (open) {\n openEvent = event;\n }\n if (reason === 'escape-key' && refs.domReference.current) {\n addPreviouslyFocusedElement(refs.domReference.current);\n }\n if (reason === 'hover' && event.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (reason !== 'outside-press') return;\n if (nested) {\n preventReturnFocusRef.current = false;\n preventReturnFocusScroll = true;\n } else {\n preventReturnFocusRef.current = !(isVirtualClick(event) || isVirtualPointerEvent(event));\n }\n }\n events.on('openchange', onOpenChange);\n const fallbackEl = doc.createElement('span');\n fallbackEl.setAttribute('tabindex', '-1');\n fallbackEl.setAttribute('aria-hidden', 'true');\n Object.assign(fallbackEl.style, HIDDEN_STYLES);\n if (isInsidePortal && domReference) {\n domReference.insertAdjacentElement('afterend', fallbackEl);\n }\n function getReturnElement() {\n if (typeof returnFocusRef.current === 'boolean') {\n return getPreviouslyFocusedElement() || fallbackEl;\n }\n return returnFocusRef.current.current || fallbackEl;\n }\n return () => {\n events.off('openchange', onOpenChange);\n const activeEl = activeElement(doc);\n const isFocusInsideFloatingTree = contains(floating, activeEl) || tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context5;\n return contains((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.floating, activeEl);\n });\n const shouldFocusReference = isFocusInsideFloatingTree || openEvent && ['click', 'mousedown'].includes(openEvent.type);\n if (shouldFocusReference && refs.domReference.current) {\n addPreviouslyFocusedElement(refs.domReference.current);\n }\n const returnElement = getReturnElement();\n queueMicrotask(() => {\n if (\n // eslint-disable-next-line react-hooks/exhaustive-deps\n returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(returnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n returnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n returnElement.focus({\n preventScroll: preventReturnFocusScroll\n });\n }\n fallbackEl.remove();\n });\n };\n }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, refs, events, tree, nodeId, isInsidePortal, domReference]);\n React.useEffect(() => {\n // The `returnFocus` cleanup behavior is inside a microtask; ensure we\n // wait for it to complete before resetting the flag.\n queueMicrotask(() => {\n preventReturnFocusRef.current = false;\n });\n }, [disabled]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n index(() => {\n if (disabled) return;\n if (!portalContext) return;\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange,\n refs\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, onOpenChange, refs, closeOnFocusOut]);\n index(() => {\n if (disabled) return;\n if (!floatingFocusElement) return;\n if (typeof MutationObserver !== 'function') return;\n if (ignoreInitialFocus) return;\n const handleMutation = () => {\n const tabIndex = floatingFocusElement.getAttribute('tabindex');\n const tabbableContent = getTabbableContent();\n const activeEl = activeElement(getDocument(floating));\n const tabbableIndex = tabbableContent.indexOf(activeEl);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n if (orderRef.current.includes('floating') || activeEl !== refs.domReference.current && tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusElement.setAttribute('tabindex', '0');\n }\n } else if (tabIndex !== '-1') {\n floatingFocusElement.setAttribute('tabindex', '-1');\n }\n };\n handleMutation();\n const observer = new MutationObserver(handleMutation);\n observer.observe(floatingFocusElement, {\n childList: true,\n subtree: true,\n attributes: true\n });\n return () => {\n observer.disconnect();\n };\n }, [disabled, floating, floatingFocusElement, refs, orderRef, getTabbableContent, ignoreInitialFocus]);\n function renderDismissButton(location) {\n if (disabled || !visuallyHiddenDismiss || !modal) {\n return null;\n }\n return /*#__PURE__*/React.createElement(VisuallyHiddenDismiss, {\n ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n onClick: event => onOpenChange(false, event.nativeEvent)\n }, typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss');\n }\n const shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/React.createElement(React.Fragment, null, shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.beforeInsideRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable() || domReference;\n nextTabbable == null || nextTabbable.focus();\n } else {\n var _portalContext$before;\n (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n }\n }\n }\n }), !isUntrappedTypeableCombobox && renderDismissButton('start'), children, renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/React.createElement(FocusGuard, {\n \"data-type\": \"inside\",\n ref: portalContext == null ? void 0 : portalContext.afterInsideRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable() || domReference;\n prevTabbable == null || prevTabbable.focus();\n } else {\n var _portalContext$afterO;\n (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n }\n }\n }\n }));\n}\n\nlet lockCount = 0;\nfunction enableScrollLock() {\n const isIOS = /iP(hone|ad|od)|iOS/.test(getPlatform());\n const bodyStyle = document.body.style;\n // RTL <body> scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;\n const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;\n bodyStyle.overflow = 'hidden';\n if (scrollbarWidth) {\n bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n }\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (isIOS) {\n var _window$visualViewpor, _window$visualViewpor2;\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n Object.assign(bodyStyle, {\n position: 'fixed',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0'\n });\n }\n return () => {\n Object.assign(bodyStyle, {\n overflow: '',\n [paddingProp]: ''\n });\n if (isIOS) {\n Object.assign(bodyStyle, {\n position: '',\n top: '',\n left: '',\n right: ''\n });\n window.scrollTo(scrollX, scrollY);\n }\n };\n}\nlet cleanup = () => {};\n\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `<div>`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(props, ref) {\n const {\n lockScroll = false,\n ...rest\n } = props;\n index(() => {\n if (!lockScroll) return;\n lockCount++;\n if (lockCount === 1) {\n cleanup = enableScrollLock();\n }\n return () => {\n lockCount--;\n if (lockCount === 0) {\n cleanup();\n }\n };\n }, [lockScroll]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref\n }, rest, {\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n }));\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true,\n stickIfOpen = true\n } = props;\n const pointerTypeRef = React.useRef();\n const didKeyDownRef = React.useRef(false);\n const reference = React.useMemo(() => ({\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) return;\n if (eventOption === 'click') return;\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction createVirtualElement(domElement, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domElement || undefined,\n getBoundingClientRect() {\n var _data$dataRef$current;\n const domRect = (domElement == null ? void 0 : domElement.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n dataRef,\n elements: {\n floating,\n domReference\n },\n refs\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = React.useRef(false);\n const cleanupListenerRef = React.useRef(null);\n const [pointerType, setPointerType] = React.useState();\n const [reactive, setReactive] = React.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n const addListener = React.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = getWindow(floating);\n function handleMouseMove(event) {\n const target = getTarget(event);\n if (!contains(floating, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(domReference);\n }, [openCheck, enabled, x, y, floating, dataRef, refs, domReference, setReference]);\n React.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n React.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n React.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n index(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n const reference = React.useMemo(() => {\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n };\n }, [handleReferenceEnterOrMove]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n elements,\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const insideReactTreeRef = React.useRef(false);\n const endedOrStartedInsideRef = React.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const isComposingRef = React.useRef(false);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n var _dataRef$current$floa;\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n\n // Wait until IME is settled. Pressing `Escape` while composing should\n // close the compose menu, but not the floating element.\n if (isComposingRef.current) {\n return;\n }\n const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = getTarget(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = getTarget(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n var _dataRef$current$floa2;\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = insideReactTreeRef.current;\n insideReactTreeRef.current = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = getDocument(elements.floating).querySelectorAll(inertSelector);\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains(target, elements.floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !contains(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n // In Firefox, `target.scrollWidth > target.clientWidth` for inline\n // elements.\n const canScrollX = target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n let xCond = canScrollY && event.offsetX > target.clientWidth;\n\n // In some browsers it is possible to change the <body> (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n if (canScrollY) {\n const isRTL = getComputedStyle(target).direction === 'rtl';\n if (isRTL) {\n xCond = event.offsetX <= target.offsetWidth - target.clientWidth;\n }\n }\n if (xCond || canScrollX && event.offsetY > target.clientHeight) {\n return;\n }\n }\n const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n const targetIsInsideChildren = tree && getChildren(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getChildren(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = getTarget(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = getTarget(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n let compositionTimeout = -1;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n function handleCompositionStart() {\n window.clearTimeout(compositionTimeout);\n isComposingRef.current = true;\n }\n function handleCompositionEnd() {\n // Safari fires `compositionend` before `keydown`, so we need to wait\n // until the next tick to set `isComposing` to `false`.\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n compositionTimeout = window.setTimeout(() => {\n isComposingRef.current = false;\n },\n // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n // Only apply to WebKit for the test to remain 0ms.\n isWebKit() ? 5 : 0);\n }\n const doc = getDocument(elements.floating);\n if (escapeKey) {\n doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.addEventListener('compositionstart', handleCompositionStart);\n doc.addEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(elements.domReference)) {\n ancestors = getOverflowAncestors(elements.domReference);\n }\n if (isElement(elements.floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.floating));\n }\n if (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n if (escapeKey) {\n doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.removeEventListener('compositionstart', handleCompositionStart);\n doc.removeEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n window.clearTimeout(compositionTimeout);\n };\n }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n React.useEffect(() => {\n insideReactTreeRef.current = false;\n }, [outsidePress, outsidePressEvent]);\n const reference = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n if (referencePress) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n }\n }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);\n const floating = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n insideReactTreeRef.current = true;\n }\n }), [closeOnEscapeKeyDown, outsidePressEvent]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange: onOpenChangeProp,\n elements: elementsProp\n } = options;\n const floatingId = useId();\n const dataRef = React.useRef({});\n const [events] = React.useState(() => createPubSub());\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== \"production\") {\n const optionDomReference = elementsProp.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');\n }\n }\n const [positionReference, setPositionReference] = React.useState(elementsProp.reference);\n const onOpenChange = useEffectEvent((open, event, reason) => {\n dataRef.current.openEvent = open ? event : undefined;\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n onOpenChangeProp == null || onOpenChangeProp(open, event, reason);\n });\n const refs = React.useMemo(() => ({\n setPositionReference\n }), []);\n const elements = React.useMemo(() => ({\n reference: positionReference || elementsProp.reference || null,\n floating: elementsProp.floating || null,\n domReference: elementsProp.reference\n }), [positionReference, elementsProp.reference, elementsProp.floating]);\n return React.useMemo(() => ({\n dataRef,\n open,\n onOpenChange,\n elements,\n events,\n floatingId,\n refs\n }), [open, onOpenChange, elements, events, floatingId, refs]);\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n nodeId\n } = options;\n const internalRootContext = useFloatingRootContext({\n ...options,\n elements: {\n reference: null,\n floating: null,\n ...options.elements\n }\n });\n const rootContext = options.rootContext || internalRootContext;\n const computedElements = rootContext.elements;\n const [_domReference, setDomReference] = React.useState(null);\n const [positionReference, _setPositionReference] = React.useState(null);\n const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;\n const domReference = optionDomReference || _domReference;\n const domReferenceRef = React.useRef(null);\n const tree = useFloatingTree();\n index(() => {\n if (domReference) {\n domReferenceRef.current = domReference;\n }\n }, [domReference]);\n const position = useFloating$1({\n ...options,\n elements: {\n ...computedElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const setPositionReference = React.useCallback(node => {\n const computedPositionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n _setPositionReference(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = React.useMemo(() => ({\n ...position,\n ...rootContext,\n refs,\n elements,\n nodeId\n }), [position, refs, elements, nodeId, rootContext]);\n index(() => {\n rootContext.dataRef.current.floatingContext = context;\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef();\n const keyboardModalityRef = React.useRef(true);\n React.useEffect(() => {\n if (!enabled) return;\n const win = getWindow(elements.domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument(elements.domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n win.addEventListener('blur', onBlur);\n win.addEventListener('keydown', onKeyDown, true);\n return () => {\n win.removeEventListener('blur', onBlur);\n win.removeEventListener('keydown', onKeyDown, true);\n };\n }, [elements.domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n const reference = React.useMemo(() => ({\n onPointerDown(event) {\n if (isVirtualPointerEvent(event.nativeEvent)) return;\n keyboardModalityRef.current = false;\n },\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = getTarget(event.nativeEvent);\n if (visibleOnly && isElement(target)) {\n try {\n // Mac Safari unreliably matches `:focus-visible` on the reference\n // if focus was outside the page initially - use the fallback\n // instead.\n if (isSafari() && isMac()) throw Error();\n if (!target.matches(':focus-visible')) return;\n } catch (e) {\n // Old browsers will throw an error when using `:focus-visible`.\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n const nativeEvent = event.nativeEvent;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n var _dataRef$current$floa;\n const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === elements.domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains(elements.domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, nativeEvent, 'focus');\n });\n }\n }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);\n const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);\n const itemDeps = propsList.map(key => key == null ? void 0 : key.item);\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n referenceDeps);\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n floatingDeps);\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n itemDeps);\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nlet isPreventScrollSupported = false;\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n elements\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const floatingFocusElement = getFloatingFocusElement(elements.floating);\n const floatingFocusElementRef = useLatestRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n const onNavigate = useEffectEvent(unstable_onNavigate);\n const typeableComboboxReference = isTypeableCombobox(elements.domReference);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!elements.floating);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocus = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const selectedIndexRef = useLatestRef(selectedIndex);\n const [activeId, setActiveId] = React.useState();\n const [virtualId, setVirtualId] = React.useState();\n const focusItem = useEffectEvent(function (listRef, indexRef, forceScrollIntoView) {\n if (forceScrollIntoView === void 0) {\n forceScrollIntoView = false;\n }\n function runFocus(item) {\n if (virtual) {\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n preventScroll: true,\n // Mac Safari does not move the virtual cursor unless the focus call\n // is sync. However, for the very first focus call, we need to wait\n // for the position to be ready in order to prevent unwanted\n // scrolling. This means the virtual cursor will not move to the first\n // item when first opening the floating element, but will on\n // subsequent calls. `preventScroll` is supported in modern Safari,\n // so we can use that instead.\n // iOS Safari must be async or the first item will not be focused.\n sync: isMac() && isSafari() ? isPreventScrollSupported || forceSyncFocus.current : false\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n if (initialItem) {\n runFocus(initialItem);\n }\n requestAnimationFrame(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) return;\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n index(() => {\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n }, []);\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n index(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate(selectedIndex);\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current(null);\n }\n }, [enabled, open, elements.floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n index(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (activeIndex == null) {\n forceSyncFocus.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinIndex(listRef, disabledIndicesRef.current) : getMaxIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate(indexRef.current);\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem(listRef, indexRef, forceScrollIntoViewRef.current);\n forceScrollIntoViewRef.current = false;\n }\n }\n }, [enabled, open, elements.floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n index(() => {\n var _nodes$find;\n if (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = activeElement(getDocument(elements.floating));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, elements.floating, tree, parentId, virtual]);\n index(() => {\n if (!enabled) return;\n if (!tree) return;\n if (!virtual) return;\n if (parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n index(() => {\n previousOnNavigateRef.current = onNavigate;\n previousMountedRef.current = !!elements.floating;\n });\n index(() => {\n if (!open) {\n keyRef.current = null;\n }\n }, [open]);\n index(() => {\n previousOpenRef.current = open;\n }, [open]);\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!open) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1) {\n onNavigate(index);\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n ...(focusItemOnHover && {\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n syncCurrentTarget(currentTarget);\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n indexRef.current = -1;\n focusItem(listRef, indexRef);\n onNavigate(null);\n if (!virtual) {\n enqueueFocus(floatingFocusElementRef.current, {\n preventScroll: true\n });\n }\n }\n })\n };\n return props;\n }, [open, floatingFocusElementRef, focusItem, focusItemOnHover, listRef, onNavigate, virtual]);\n const commonOnKeyDown = useEffectEvent(event => {\n isPointerModalityRef.current = false;\n forceSyncFocus.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl)) {\n stopEvent(event);\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if (isHTMLElement(elements.domReference)) {\n if (virtual) {\n tree == null || tree.events.emit('virtualfocus', elements.domReference);\n } else {\n elements.domReference.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinIndex(listRef, disabledIndices);\n const maxIndex = getMaxIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(indexRef.current);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(indexRef.current);\n }\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = buildCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isDisabled(listRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const index = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getCellIndices([...(disabledIndices || listRef.current.map((_, index) => isDisabled(listRef.current, index) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n stopEvent: true\n })];\n if (index != null) {\n indexRef.current = index;\n onNavigate(indexRef.current);\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(indexRef.current);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfBounds(listRef, indexRef.current)) {\n onNavigate(null);\n } else {\n onNavigate(indexRef.current);\n }\n }\n });\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n }, [virtual, open, hasActiveIndex, virtualId, activeId]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!isTypeableCombobox(elements.domReference) && ariaActiveDescendantProp),\n onKeyDown: commonOnKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, elements.domReference, orientation]);\n const reference = React.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isHomeOrEndKey = ['Home', 'End'].includes(event.key);\n const isMoveKey = isArrowKey || isHomeOrEndKey;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isMoveKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find(item => (item == null ? void 0 : item.id) === activeId) : null;\n if (dispatchItem) {\n stopEvent(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if ((isMainKey || isHomeOrEndKey) && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n stopEvent(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return commonOnKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n keyRef.current = nested && isMainKey ? null : event.key;\n }\n if (nested) {\n if (isCrossOpenKey) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinIndex(listRef, disabledIndicesRef.current);\n onNavigate(indexRef.current);\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n commonOnKeyDown(event);\n }\n if (open) {\n onNavigate(indexRef.current);\n }\n }\n },\n onFocus() {\n if (open && !virtual) {\n onNavigate(null);\n }\n },\n onPointerDown: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [activeId, ariaActiveDescendantProp, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, rtl, selectedIndex, tree, virtual, virtualItemRef]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n floatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const referenceId = useId();\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n const reference = React.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n };\n }\n return {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n };\n }, [ariaRole, floatingId, isNested, open, referenceId, role]);\n const floating = React.useMemo(() => {\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return floatingProps;\n }\n return {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n };\n }, [ariaRole, floatingId, referenceId, role]);\n const item = React.useCallback(_ref => {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n return {\n ...commonProps,\n 'aria-selected': active && selected\n };\n case 'combobox':\n {\n return {\n ...commonProps,\n ...(active && {\n 'aria-selected': true\n })\n };\n }\n }\n return {};\n }, [floatingId, role]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open && isMounted) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, isMounted, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n if (!isMounted && status === 'close') {\n setStatus('unmounted');\n }\n index(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n setStatus('open');\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = React.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = React.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n index(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = React.useRef();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n index(() => {\n if (open) {\n clearTimeout(timeoutIdRef.current);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n index(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useEffectEvent(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n });\n const onKeyDown = useEffectEvent(event => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeout(timeoutIdRef.current);\n timeoutIdRef.current = setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const reference = React.useMemo(() => ({\n onKeyDown\n }), [onKeyDown]);\n const floating = React.useMemo(() => {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n };\n }, [onKeyDown, setTypingChange]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside of it is\n * anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = evaluate(props, state);\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n\n // Valid combinations:\n // 1. Floating element is the scrollRef and has a border (default)\n // 2. Floating element is not the scrollRef, floating element has a border\n // 3. Floating element is not the scrollRef, scrollRef has a border\n // Floating > {...getFloatingProps()} wrapper > scrollRef > items is not\n // allowed as VoiceOver doesn't work.\n const clientTop = floating.clientTop || scrollEl.clientTop;\n const floatingIsBordered = floating.clientTop !== 0;\n const scrollElIsBordered = scrollEl.clientTop !== 0;\n const floatingIsScrollEl = floating === scrollEl;\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n warn('`placement` side must be \"bottom\" when using the `inner`', 'middleware.');\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n const rounder = isScrollable ? v => v : round;\n const maxHeight = rounder(max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - max(0, overflow.bottom)));\n scrollEl.style.maxHeight = maxHeight + \"px\";\n scrollEl.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * min(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = React.useMemo(() => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }), [elements.floating, onChange, overflowRef, scrollRef]);\n return React.useMemo(() => enabled ? {\n floating\n } : {}, [enabled, floating]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n let timeoutId;\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = performance.now();\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeout(timeoutId);\n onClose();\n }\n clearTimeout(timeoutId);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getChildren(tree.nodesRef.current, nodeId).some(_ref2 => {\n let {\n context\n } = _ref2;\n return context == null ? void 0 : context.open;\n })) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref3) {\n let [x, y] = _ref3;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutId = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingRootContext, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","import{autoUpdate as Z,flip as ee,inner as te,offset as ne,shift as le,size as re,useFloating as oe,useInnerOffset as ie,useInteractions as se}from\"@floating-ui/react\";import*as j from\"react\";import{createContext as _,useCallback as ae,useContext as R,useMemo as M,useRef as ue,useState as A}from\"react\";import{useDisposables as fe}from'../hooks/use-disposables.js';import{useEvent as z}from'../hooks/use-event.js';import{useIsoMorphicEffect as C}from'../hooks/use-iso-morphic-effect.js';let y=_({styles:void 0,setReference:()=>{},setFloating:()=>{},getReferenceProps:()=>({}),getFloatingProps:()=>({}),slot:{}});y.displayName=\"FloatingContext\";let H=_(null);H.displayName=\"PlacementContext\";function xe(e){return M(()=>e?typeof e==\"string\"?{to:e}:e:null,[e])}function ye(){return R(y).setReference}function Fe(){return R(y).getReferenceProps}function be(){let{getFloatingProps:e,slot:t}=R(y);return ae((...n)=>Object.assign({},e(...n),{\"data-anchor\":t.anchor}),[e,t])}function Re(e=null){e===!1&&(e=null),typeof e==\"string\"&&(e={to:e});let t=R(H),n=M(()=>e,[JSON.stringify(e,(r,o)=>{var u;return(u=o==null?void 0:o.outerHTML)!=null?u:o})]);C(()=>{t==null||t(n!=null?n:null)},[t,n]);let l=R(y);return M(()=>[l.setFloating,e?l.styles:{}],[l.setFloating,e,l.styles])}let q=4;function Me({children:e,enabled:t=!0}){let[n,l]=A(null),[r,o]=A(0),u=ue(null),[f,s]=A(null);pe(f);let i=t&&n!==null&&f!==null,{to:F=\"bottom\",gap:E=0,offset:v=0,padding:c=0,inner:P}=ce(n,f),[a,p=\"center\"]=F.split(\" \");C(()=>{i&&o(0)},[i]);let{refs:b,floatingStyles:w,context:g}=oe({open:i,placement:a===\"selection\"?p===\"center\"?\"bottom\":`bottom-${p}`:p===\"center\"?`${a}`:`${a}-${p}`,strategy:\"absolute\",transform:!1,middleware:[ne({mainAxis:a===\"selection\"?0:E,crossAxis:v}),le({padding:c}),a!==\"selection\"&&ee({padding:c}),a===\"selection\"&&P?te({...P,padding:c,overflowRef:u,offset:r,minItemsVisible:q,referenceOverflowThreshold:c,onFallbackChange(h){var O,W;if(!h)return;let d=g.elements.floating;if(!d)return;let T=parseFloat(getComputedStyle(d).scrollPaddingBottom)||0,$=Math.min(q,d.childElementCount),L=0,N=0;for(let m of(W=(O=g.elements.floating)==null?void 0:O.childNodes)!=null?W:[])if(m instanceof HTMLElement){let x=m.offsetTop,k=x+m.clientHeight+T,S=d.scrollTop,U=S+d.clientHeight;if(x>=S&&k<=U)$--;else{N=Math.max(0,Math.min(k,U)-Math.max(x,S)),L=m.clientHeight;break}}$>=1&&o(m=>{let x=L*$-N+T;return m>=x?m:x})}}):null,re({padding:c,apply({availableWidth:h,availableHeight:d,elements:T}){Object.assign(T.floating.style,{overflow:\"auto\",maxWidth:`${h}px`,maxHeight:`min(var(--anchor-max-height, 100vh), ${d}px)`})}})].filter(Boolean),whileElementsMounted:Z}),[I=a,B=p]=g.placement.split(\"-\");a===\"selection\"&&(I=\"selection\");let G=M(()=>({anchor:[I,B].filter(Boolean).join(\" \")}),[I,B]),K=ie(g,{overflowRef:u,onChange:o}),{getReferenceProps:Q,getFloatingProps:X}=se([K]),Y=z(h=>{s(h),b.setFloating(h)});return j.createElement(H.Provider,{value:l},j.createElement(y.Provider,{value:{setFloating:Y,setReference:b.setReference,styles:w,getReferenceProps:Q,getFloatingProps:X,slot:G}},e))}function pe(e){C(()=>{if(!e)return;let t=new MutationObserver(()=>{let n=window.getComputedStyle(e).maxHeight,l=parseFloat(n);if(isNaN(l))return;let r=parseInt(n);isNaN(r)||l!==r&&(e.style.maxHeight=`${Math.ceil(l)}px`)});return t.observe(e,{attributes:!0,attributeFilter:[\"style\"]}),()=>{t.disconnect()}},[e])}function ce(e,t){var o,u,f;let n=V((o=e==null?void 0:e.gap)!=null?o:\"var(--anchor-gap, 0)\",t),l=V((u=e==null?void 0:e.offset)!=null?u:\"var(--anchor-offset, 0)\",t),r=V((f=e==null?void 0:e.padding)!=null?f:\"var(--anchor-padding, 0)\",t);return{...e,gap:n,offset:l,padding:r}}function V(e,t,n=void 0){let l=fe(),r=z((s,i)=>{if(s==null)return[n,null];if(typeof s==\"number\")return[s,null];if(typeof s==\"string\"){if(!i)return[n,null];let F=J(s,i);return[F,E=>{let v=D(s);{let c=v.map(P=>window.getComputedStyle(i).getPropertyValue(P));l.requestAnimationFrame(function P(){l.nextFrame(P);let a=!1;for(let[b,w]of v.entries()){let g=window.getComputedStyle(i).getPropertyValue(w);if(c[b]!==g){c[b]=g,a=!0;break}}if(!a)return;let p=J(s,i);F!==p&&(E(p),F=p)})}return l.dispose}]}return[n,null]}),o=M(()=>r(e,t)[0],[e,t]),[u=o,f]=A();return C(()=>{let[s,i]=r(e,t);if(f(s),!!i)return i(f)},[e,t]),u}function D(e){let t=/var\\((.*)\\)/.exec(e);if(t){let n=t[1].indexOf(\",\");if(n===-1)return[t[1]];let l=t[1].slice(0,n).trim(),r=t[1].slice(n+1).trim();return r?[l,...D(r)]:[l]}return[]}function J(e,t){let n=document.createElement(\"div\");t.appendChild(n),n.style.setProperty(\"margin-top\",\"0px\",\"important\"),n.style.setProperty(\"margin-top\",e,\"important\");let l=parseFloat(window.getComputedStyle(n).marginTop)||0;return t.removeChild(n),l}export{Me as FloatingProvider,Re as useFloatingPanel,be as useFloatingPanelProps,ye as useFloatingReference,Fe as useFloatingReferenceProps,xe as useResolvedAnchor};\n","import r,{useState as u}from\"react\";function f({children:o,freeze:e}){let n=l(e,o);return r.createElement(r.Fragment,null,n)}function l(o,e){let[n,t]=u(e);return!o&&n!==e&&t(e),o?n:e}export{f as Frozen,l as useFrozenData};\n","import r,{createContext as l,useContext as d}from\"react\";let n=l(null);n.displayName=\"OpenClosedContext\";var i=(e=>(e[e.Open=1]=\"Open\",e[e.Closed=2]=\"Closed\",e[e.Closing=4]=\"Closing\",e[e.Opening=8]=\"Opening\",e))(i||{});function u(){return d(n)}function c({value:o,children:t}){return r.createElement(n.Provider,{value:o},t)}function s({children:o}){return r.createElement(n.Provider,{value:null},o)}export{c as OpenClosedProvider,s as ResetOpenClosedProvider,i as State,u as useOpenClosed};\n","function t(n){function e(){document.readyState!==\"loading\"&&(n(),document.removeEventListener(\"DOMContentLoaded\",e))}typeof window!=\"undefined\"&&typeof document!=\"undefined\"&&(document.addEventListener(\"DOMContentLoaded\",e),e())}export{t as onDocumentReady};\n","import{onDocumentReady as d}from'./document-ready.js';import{focusableSelector as u}from'./focus-management.js';let r=[];d(()=>{function e(t){if(!(t.target instanceof HTMLElement)||t.target===document.body||r[0]===t.target)return;let n=t.target;n=n.closest(u),r.unshift(n!=null?n:t.target),r=r.filter(o=>o!=null&&o.isConnected),r.splice(10)}window.addEventListener(\"click\",e,{capture:!0}),window.addEventListener(\"mousedown\",e,{capture:!0}),window.addEventListener(\"focus\",e,{capture:!0}),document.body.addEventListener(\"click\",e,{capture:!0}),document.body.addEventListener(\"mousedown\",e,{capture:!0}),document.body.addEventListener(\"focus\",e,{capture:!0})});export{r as history};\n","function u(l){throw new Error(\"Unexpected object: \"+l)}var c=(i=>(i[i.First=0]=\"First\",i[i.Previous=1]=\"Previous\",i[i.Next=2]=\"Next\",i[i.Last=3]=\"Last\",i[i.Specific=4]=\"Specific\",i[i.Nothing=5]=\"Nothing\",i))(c||{});function f(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u(l)}}export{c as Focus,f as calculateActiveIndex};\n","import{useEffect as u,useRef as n}from\"react\";import{microTask as o}from'../utils/micro-task.js';import{useEvent as f}from'./use-event.js';function c(t){let r=f(t),e=n(!1);u(()=>(e.current=!1,()=>{e.current=!0,o(()=>{e.current&&r()})}),[r])}export{c as useOnUnmount};\n","import*as t from\"react\";import{env as f}from'../utils/env.js';function s(){let r=typeof document==\"undefined\";return\"useSyncExternalStore\"in t?(o=>o.useSyncExternalStore)(t)(()=>()=>{},()=>!1,()=>!r):!1}function l(){let r=s(),[e,n]=t.useState(f.isHandoffComplete);return e&&f.isHandoffComplete===!1&&n(!1),t.useEffect(()=>{e!==!0&&n(!0)},[e]),t.useEffect(()=>f.handoff(),[]),r?!1:e}export{l as useServerHandoffComplete};\n","import t,{createContext as r,useContext as c}from\"react\";let e=r(!1);function a(){return c(e)}function l(o){return t.createElement(e.Provider,{value:o.force},o.children)}export{l as ForcePortalRoot,a as usePortalRoot};\n","\"use client\";import f,{Fragment as R,createContext as g,useContext as T,useEffect as E,useMemo as c,useRef as A,useState as G}from\"react\";import{createPortal as O}from\"react-dom\";import{useEvent as L}from'../../hooks/use-event.js';import{useIsoMorphicEffect as x}from'../../hooks/use-iso-morphic-effect.js';import{useOnUnmount as h}from'../../hooks/use-on-unmount.js';import{useOwnerDocument as _}from'../../hooks/use-owner.js';import{useServerHandoffComplete as F}from'../../hooks/use-server-handoff-complete.js';import{optionalRef as U,useSyncRefs as P}from'../../hooks/use-sync-refs.js';import{usePortalRoot as D}from'../../internal/portal-force-root.js';import{env as C}from'../../utils/env.js';import{forwardRefWithAs as m,useRender as d}from'../../utils/render.js';function N(u){let r=D(),n=T(v),e=_(u),[o,l]=G(()=>{var t;if(!r&&n!==null)return(t=n.current)!=null?t:null;if(C.isServer)return null;let p=e==null?void 0:e.getElementById(\"headlessui-portal-root\");if(p)return p;if(e===null)return null;let a=e.createElement(\"div\");return a.setAttribute(\"id\",\"headlessui-portal-root\"),e.body.appendChild(a)});return E(()=>{o!==null&&(e!=null&&e.body.contains(o)||e==null||e.body.appendChild(o))},[o,e]),E(()=>{r||n!==null&&l(n.current)},[n,l,r]),o}let M=R,S=m(function(r,n){let e=r,o=A(null),l=P(U(i=>{o.current=i}),n),p=_(o),a=N(o),[t]=G(()=>{var i;return C.isServer?null:(i=p==null?void 0:p.createElement(\"div\"))!=null?i:null}),s=T(y),b=F();x(()=>{!a||!t||a.contains(t)||(t.setAttribute(\"data-headlessui-portal\",\"\"),a.appendChild(t))},[a,t]),x(()=>{if(t&&s)return s.register(t)},[s,t]),h(()=>{var i;!a||!t||(t instanceof Node&&a.contains(t)&&a.removeChild(t),a.childNodes.length<=0&&((i=a.parentElement)==null||i.removeChild(a)))});let H=d();return b?!a||!t?null:O(H({ourProps:{ref:l},theirProps:e,slot:{},defaultTag:M,name:\"Portal\"}),t):null});function j(u,r){let n=P(r),{enabled:e=!0,...o}=u,l=d();return e?f.createElement(S,{...o,ref:n}):l({ourProps:{ref:n},theirProps:o,slot:{},defaultTag:M,name:\"Portal\"})}let W=R,v=g(null);function I(u,r){let{target:n,...e}=u,l={ref:P(r)},p=d();return f.createElement(v.Provider,{value:n},p({ourProps:l,theirProps:e,defaultTag:W,name:\"Popover.Group\"}))}let y=g(null);function te(){let u=T(y),r=A([]),n=L(l=>(r.current.push(l),u&&u.register(l),()=>e(l))),e=L(l=>{let p=r.current.indexOf(l);p!==-1&&r.current.splice(p,1),u&&u.unregister(l)}),o=c(()=>({register:n,unregister:e,portals:r}),[n,e,r]);return[r,c(()=>function({children:p}){return f.createElement(y.Provider,{value:o},p)},[o])]}let J=m(j),X=m(I),re=Object.assign(J,{Group:X});export{re as Portal,X as PortalGroup,te as useNestedPortals};\n","import{Keys as u}from'../components/keyboard.js';import{useEventListener as i}from'./use-event-listener.js';import{useIsTopLayer as f}from'./use-is-top-layer.js';function a(o,r=typeof document!=\"undefined\"?document.defaultView:null,t){let n=f(o,\"escape\");i(r,\"keydown\",e=>{n&&(e.defaultPrevented||e.key===u.Escape&&t(e))})}export{a as useEscape};\n","import{useState as i}from\"react\";import{useIsoMorphicEffect as s}from'./use-iso-morphic-effect.js';function f(){var t;let[e]=i(()=>typeof window!=\"undefined\"&&typeof window.matchMedia==\"function\"?window.matchMedia(\"(pointer: coarse)\"):null),[o,c]=i((t=e==null?void 0:e.matches)!=null?t:!1);return s(()=>{if(!e)return;function n(r){c(r.matches)}return e.addEventListener(\"change\",n),()=>e.removeEventListener(\"change\",n)},[e]),o}export{f as useIsTouchDevice};\n","import f,{createContext as M,useContext as d,useState as H}from\"react\";import{Hidden as E,HiddenFeatures as T}from'../internal/hidden.js';import{getOwnerDocument as L}from'../utils/owner.js';import{useEvent as s}from'./use-event.js';import{useOwnerDocument as h}from'./use-owner.js';function R({defaultContainers:l=[],portals:n,mainTreeNode:o}={}){let r=h(o),u=s(()=>{var i,c;let t=[];for(let e of l)e!==null&&(e instanceof HTMLElement?t.push(e):\"current\"in e&&e.current instanceof HTMLElement&&t.push(e.current));if(n!=null&&n.current)for(let e of n.current)t.push(e);for(let e of(i=r==null?void 0:r.querySelectorAll(\"html > *, body > *\"))!=null?i:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!==\"headlessui-portal-root\"&&(o&&(e.contains(o)||e.contains((c=o==null?void 0:o.getRootNode())==null?void 0:c.host))||t.some(m=>e.contains(m))||t.push(e));return t});return{resolveContainers:u,contains:s(t=>u().some(i=>i.contains(t)))}}let a=M(null);function O({children:l,node:n}){let[o,r]=H(null),u=b(n!=null?n:o);return f.createElement(a.Provider,{value:u},l,u===null&&f.createElement(E,{features:T.Hidden,ref:t=>{var i,c;if(t){for(let e of(c=(i=L(t))==null?void 0:i.querySelectorAll(\"html > *, body > *\"))!=null?c:[])if(e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e!=null&&e.contains(t)){r(e);break}}}}))}function b(l=null){var n;return(n=d(a))!=null?n:l}export{O as MainTreeProvider,b as useMainTreeNode,R as useRootContainers};\n","import{useRef as r}from\"react\";import{useIsoMorphicEffect as t}from'./use-iso-morphic-effect.js';function f(){let e=r(!1);return t(()=>(e.current=!0,()=>{e.current=!1}),[]),e}export{f as useIsMounted};\n","import{useRef as o}from\"react\";import{useWindowEvent as t}from'./use-window-event.js';var a=(r=>(r[r.Forwards=0]=\"Forwards\",r[r.Backwards=1]=\"Backwards\",r))(a||{});function u(){let e=o(0);return t(!0,\"keydown\",r=>{r.key===\"Tab\"&&(e.current=r.shiftKey?1:0)},!0),e}export{a as Direction,u as useTabDirection};\n","\"use client\";import L,{useRef as M}from\"react\";import{useDisposables as W}from'../../hooks/use-disposables.js';import{useEvent as A}from'../../hooks/use-event.js';import{useEventListener as K}from'../../hooks/use-event-listener.js';import{useIsMounted as P}from'../../hooks/use-is-mounted.js';import{useIsTopLayer as O}from'../../hooks/use-is-top-layer.js';import{useOnUnmount as V}from'../../hooks/use-on-unmount.js';import{useOwnerDocument as q}from'../../hooks/use-owner.js';import{useServerHandoffComplete as J}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as X}from'../../hooks/use-sync-refs.js';import{Direction as H,useTabDirection as z}from'../../hooks/use-tab-direction.js';import{useWatch as y}from'../../hooks/use-watch.js';import{Hidden as C,HiddenFeatures as _}from'../../internal/hidden.js';import{history as b}from'../../utils/active-element-history.js';import{Focus as T,FocusResult as S,focusElement as p,focusIn as E}from'../../utils/focus-management.js';import{match as h}from'../../utils/match.js';import{microTask as j}from'../../utils/micro-task.js';import{forwardRefWithAs as Q,useRender as Y}from'../../utils/render.js';function U(o){if(!o)return new Set;if(typeof o==\"function\")return new Set(o());let e=new Set;for(let t of o.current)t.current instanceof HTMLElement&&e.add(t.current);return e}let Z=\"div\";var x=(n=>(n[n.None=0]=\"None\",n[n.InitialFocus=1]=\"InitialFocus\",n[n.TabLock=2]=\"TabLock\",n[n.FocusLock=4]=\"FocusLock\",n[n.RestoreFocus=8]=\"RestoreFocus\",n[n.AutoFocus=16]=\"AutoFocus\",n))(x||{});function $(o,e){let t=M(null),r=X(t,e),{initialFocus:s,initialFocusFallback:a,containers:n,features:u=15,...f}=o;J()||(u=0);let l=q(t);ee(u,{ownerDocument:l});let i=te(u,{ownerDocument:l,container:t,initialFocus:s,initialFocusFallback:a});re(u,{ownerDocument:l,container:t,containers:n,previousActiveElement:i});let R=z(),g=A(c=>{let m=t.current;if(!m)return;(G=>G())(()=>{h(R.current,{[H.Forwards]:()=>{E(m,T.First,{skipElements:[c.relatedTarget,a]})},[H.Backwards]:()=>{E(m,T.Last,{skipElements:[c.relatedTarget,a]})}})})}),v=O(!!(u&2),\"focus-trap#tab-lock\"),N=W(),F=M(!1),k={ref:r,onKeyDown(c){c.key==\"Tab\"&&(F.current=!0,N.requestAnimationFrame(()=>{F.current=!1}))},onBlur(c){if(!(u&4))return;let m=U(n);t.current instanceof HTMLElement&&m.add(t.current);let d=c.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!==\"true\"&&(I(m,d)||(F.current?E(t.current,h(R.current,{[H.Forwards]:()=>T.Next,[H.Backwards]:()=>T.Previous})|T.WrapAround,{relativeTo:c.target}):c.target instanceof HTMLElement&&p(c.target)))}},B=Y();return L.createElement(L.Fragment,null,v&&L.createElement(C,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:g,features:_.Focusable}),B({ourProps:k,theirProps:f,defaultTag:Z,name:\"FocusTrap\"}),v&&L.createElement(C,{as:\"button\",type:\"button\",\"data-headlessui-focus-guard\":!0,onFocus:g,features:_.Focusable}))}let D=Q($),ye=Object.assign(D,{features:x});function w(o=!0){let e=M(b.slice());return y(([t],[r])=>{r===!0&&t===!1&&j(()=>{e.current.splice(0)}),r===!1&&t===!0&&(e.current=b.slice())},[o,b,e]),A(()=>{var t;return(t=e.current.find(r=>r!=null&&r.isConnected))!=null?t:null})}function ee(o,{ownerDocument:e}){let t=!!(o&8),r=w(t);y(()=>{t||(e==null?void 0:e.activeElement)===(e==null?void 0:e.body)&&p(r())},[t]),V(()=>{t&&p(r())})}function te(o,{ownerDocument:e,container:t,initialFocus:r,initialFocusFallback:s}){let a=M(null),n=O(!!(o&1),\"focus-trap#initial-focus\"),u=P();return y(()=>{if(o===0)return;if(!n){s!=null&&s.current&&p(s.current);return}let f=t.current;f&&j(()=>{if(!u.current)return;let l=e==null?void 0:e.activeElement;if(r!=null&&r.current){if((r==null?void 0:r.current)===l){a.current=l;return}}else if(f.contains(l)){a.current=l;return}if(r!=null&&r.current)p(r.current);else{if(o&16){if(E(f,T.First|T.AutoFocus)!==S.Error)return}else if(E(f,T.First)!==S.Error)return;if(s!=null&&s.current&&(p(s.current),(e==null?void 0:e.activeElement)===s.current))return;console.warn(\"There are no focusable elements inside the <FocusTrap />\")}a.current=e==null?void 0:e.activeElement})},[s,n,o]),a}function re(o,{ownerDocument:e,container:t,containers:r,previousActiveElement:s}){let a=P(),n=!!(o&4);K(e==null?void 0:e.defaultView,\"focus\",u=>{if(!n||!a.current)return;let f=U(r);t.current instanceof HTMLElement&&f.add(t.current);let l=s.current;if(!l)return;let i=u.target;i&&i instanceof HTMLElement?I(f,i)?(s.current=i,p(i)):(u.preventDefault(),u.stopPropagation(),p(l)):p(s.current)},!0)}function I(o,e){for(let t of o)if(t.contains(e))return!0;return!1}export{ye as FocusTrap,x as FocusTrapFeatures};\n","\"use client\";import m,{Fragment as O,createContext as ne,useContext as q,useEffect as ge,useMemo as ie,useRef as b,useState as V}from\"react\";import{useDisposables as ve}from'../../hooks/use-disposables.js';import{useEvent as E}from'../../hooks/use-event.js';import{useIsMounted as be}from'../../hooks/use-is-mounted.js';import{useIsoMorphicEffect as D}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as Ee}from'../../hooks/use-latest-value.js';import{useServerHandoffComplete as re}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as oe}from'../../hooks/use-sync-refs.js';import{transitionDataAttributes as Se,useTransition as Re}from'../../hooks/use-transition.js';import{OpenClosedProvider as ye,State as x,useOpenClosed as se}from'../../internal/open-closed.js';import{classNames as Pe}from'../../utils/class-names.js';import{match as le}from'../../utils/match.js';import{RenderFeatures as xe,RenderStrategy as P,compact as Ne,forwardRefWithAs as J,useRender as ae}from'../../utils/render.js';function ue(e){var t;return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||((t=e.as)!=null?t:de)!==O||m.Children.count(e.children)===1}let w=ne(null);w.displayName=\"TransitionContext\";var _e=(n=>(n.Visible=\"visible\",n.Hidden=\"hidden\",n))(_e||{});function De(){let e=q(w);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}function He(){let e=q(M);if(e===null)throw new Error(\"A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.\");return e}let M=ne(null);M.displayName=\"NestingContext\";function U(e){return\"children\"in e?U(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t===\"visible\").length>0}function Te(e,t){let n=Ee(e),l=b([]),S=be(),R=ve(),d=E((o,i=P.Hidden)=>{let a=l.current.findIndex(({el:s})=>s===o);a!==-1&&(le(i,{[P.Unmount](){l.current.splice(a,1)},[P.Hidden](){l.current[a].state=\"hidden\"}}),R.microTask(()=>{var s;!U(l)&&S.current&&((s=n.current)==null||s.call(n))}))}),y=E(o=>{let i=l.current.find(({el:a})=>a===o);return i?i.state!==\"visible\"&&(i.state=\"visible\"):l.current.push({el:o,state:\"visible\"}),()=>d(o,P.Unmount)}),p=b([]),c=b(Promise.resolve()),C=b({enter:[],leave:[]}),h=E((o,i,a)=>{p.current.splice(0),t&&(t.chains.current[i]=t.chains.current[i].filter(([s])=>s!==o)),t==null||t.chains.current[i].push([o,new Promise(s=>{p.current.push(s)})]),t==null||t.chains.current[i].push([o,new Promise(s=>{Promise.all(C.current[i].map(([r,f])=>f)).then(()=>s())})]),i===\"enter\"?c.current=c.current.then(()=>t==null?void 0:t.wait.current).then(()=>a(i)):a(i)}),g=E((o,i,a)=>{Promise.all(C.current[i].splice(0).map(([s,r])=>r)).then(()=>{var s;(s=p.current.shift())==null||s()}).then(()=>a(i))});return ie(()=>({children:l,register:y,unregister:d,onStart:h,onStop:g,wait:c,chains:C}),[y,d,l,h,g,C,c])}let de=O,fe=xe.RenderStrategy;function Ae(e,t){var ee,te;let{transition:n=!0,beforeEnter:l,afterEnter:S,beforeLeave:R,afterLeave:d,enter:y,enterFrom:p,enterTo:c,entered:C,leave:h,leaveFrom:g,leaveTo:o,...i}=e,[a,s]=V(null),r=b(null),f=ue(e),j=oe(...f?[r,t,s]:t===null?[]:[t]),H=(ee=i.unmount)==null||ee?P.Unmount:P.Hidden,{show:u,appear:z,initial:K}=De(),[v,G]=V(u?\"visible\":\"hidden\"),Q=He(),{register:A,unregister:I}=Q;D(()=>A(r),[A,r]),D(()=>{if(H===P.Hidden&&r.current){if(u&&v!==\"visible\"){G(\"visible\");return}return le(v,{[\"hidden\"]:()=>I(r),[\"visible\"]:()=>A(r)})}},[v,r,A,I,u,H]);let B=re();D(()=>{if(f&&B&&v===\"visible\"&&r.current===null)throw new Error(\"Did you forget to passthrough the `ref` to the actual DOM node?\")},[r,v,B,f]);let ce=K&&!z,Y=z&&u&&K,W=b(!1),L=Te(()=>{W.current||(G(\"hidden\"),I(r))},Q),Z=E(k=>{W.current=!0;let F=k?\"enter\":\"leave\";L.onStart(r,F,_=>{_===\"enter\"?l==null||l():_===\"leave\"&&(R==null||R())})}),$=E(k=>{let F=k?\"enter\":\"leave\";W.current=!1,L.onStop(r,F,_=>{_===\"enter\"?S==null||S():_===\"leave\"&&(d==null||d())}),F===\"leave\"&&!U(L)&&(G(\"hidden\"),I(r))});ge(()=>{f&&n||(Z(u),$(u))},[u,f,n]);let pe=(()=>!(!n||!f||!B||ce))(),[,T]=Re(pe,a,u,{start:Z,end:$}),Ce=Ne({ref:j,className:((te=Pe(i.className,Y&&y,Y&&p,T.enter&&y,T.enter&&T.closed&&p,T.enter&&!T.closed&&c,T.leave&&h,T.leave&&!T.closed&&g,T.leave&&T.closed&&o,!T.transition&&u&&C))==null?void 0:te.trim())||void 0,...Se(T)}),N=0;v===\"visible\"&&(N|=x.Open),v===\"hidden\"&&(N|=x.Closed),T.enter&&(N|=x.Opening),T.leave&&(N|=x.Closing);let he=ae();return m.createElement(M.Provider,{value:L},m.createElement(ye,{value:N},he({ourProps:Ce,theirProps:i,defaultTag:de,features:fe,visible:v===\"visible\",name:\"Transition.Child\"})))}function Ie(e,t){let{show:n,appear:l=!1,unmount:S=!0,...R}=e,d=b(null),y=ue(e),p=oe(...y?[d,t]:t===null?[]:[t]);re();let c=se();if(n===void 0&&c!==null&&(n=(c&x.Open)===x.Open),n===void 0)throw new Error(\"A <Transition /> is used but it is missing a `show={true | false}` prop.\");let[C,h]=V(n?\"visible\":\"hidden\"),g=Te(()=>{n||h(\"hidden\")}),[o,i]=V(!0),a=b([n]);D(()=>{o!==!1&&a.current[a.current.length-1]!==n&&(a.current.push(n),i(!1))},[a,n]);let s=ie(()=>({show:n,appear:l,initial:o}),[n,l,o]);D(()=>{n?h(\"visible\"):!U(g)&&d.current!==null&&h(\"hidden\")},[n,g]);let r={unmount:S},f=E(()=>{var u;o&&i(!1),(u=e.beforeEnter)==null||u.call(e)}),j=E(()=>{var u;o&&i(!1),(u=e.beforeLeave)==null||u.call(e)}),H=ae();return m.createElement(M.Provider,{value:g},m.createElement(w.Provider,{value:s},H({ourProps:{...r,as:O,children:m.createElement(me,{ref:p,...r,...R,beforeEnter:f,beforeLeave:j})},theirProps:{},defaultTag:O,features:fe,visible:C===\"visible\",name:\"Transition\"})))}function Le(e,t){let n=q(w)!==null,l=se()!==null;return m.createElement(m.Fragment,null,!n&&l?m.createElement(X,{ref:t,...e}):m.createElement(me,{ref:t,...e}))}let X=J(Ie),me=J(Ae),Fe=J(Le),ze=Object.assign(X,{Child:Fe,Root:X});export{ze as Transition,Fe as TransitionChild};\n","\"use client\";import n,{Fragment as N,createContext as ae,createRef as ie,useContext as pe,useEffect as se,useMemo as E,useReducer as de,useRef as W}from\"react\";import{useEscape as ue}from'../../hooks/use-escape.js';import{useEvent as A}from'../../hooks/use-event.js';import{useId as M}from'../../hooks/use-id.js';import{useInertOthers as Te}from'../../hooks/use-inert-others.js';import{useIsTouchDevice as fe}from'../../hooks/use-is-touch-device.js';import{useOnDisappear as ge}from'../../hooks/use-on-disappear.js';import{useOutsideClick as ce}from'../../hooks/use-outside-click.js';import{useOwnerDocument as me}from'../../hooks/use-owner.js';import{MainTreeProvider as $,useMainTreeNode as De,useRootContainers as Pe}from'../../hooks/use-root-containers.js';import{useScrollLock as ye}from'../../hooks/use-scroll-lock.js';import{useServerHandoffComplete as Ee}from'../../hooks/use-server-handoff-complete.js';import{useSyncRefs as G}from'../../hooks/use-sync-refs.js';import{CloseProvider as Ae}from'../../internal/close-provider.js';import{ResetOpenClosedProvider as _e,State as x,useOpenClosed as j}from'../../internal/open-closed.js';import{ForcePortalRoot as Y}from'../../internal/portal-force-root.js';import{match as Ce}from'../../utils/match.js';import{RenderFeatures as J,forwardRefWithAs as _,useRender as L}from'../../utils/render.js';import{Description as K,useDescriptions as Re}from'../description/description.js';import{FocusTrap as Fe,FocusTrapFeatures as C}from'../focus-trap/focus-trap.js';import{Portal as be,PortalGroup as ve,useNestedPortals as xe}from'../portal/portal.js';import{Transition as Le,TransitionChild as X}from'../transition/transition.js';var Oe=(o=>(o[o.Open=0]=\"Open\",o[o.Closed=1]=\"Closed\",o))(Oe||{}),he=(t=>(t[t.SetTitleId=0]=\"SetTitleId\",t))(he||{});let Se={[0](e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},k=ae(null);k.displayName=\"DialogContext\";function O(e){let t=pe(k);if(t===null){let o=new Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,O),o}return t}function Ie(e,t){return Ce(t.type,Se,e,t)}let V=_(function(t,o){let a=M(),{id:l=`headlessui-dialog-${a}`,open:i,onClose:p,initialFocus:d,role:s=\"dialog\",autoFocus:f=!0,__demoMode:u=!1,unmount:P=!1,...h}=t,R=W(!1);s=function(){return s===\"dialog\"||s===\"alertdialog\"?s:(R.current||(R.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \\`dialog\\` and and \\`alertdialog\\` are supported. Using \\`dialog\\` instead.`)),\"dialog\")}();let c=j();i===void 0&&c!==null&&(i=(c&x.Open)===x.Open);let T=W(null),S=G(T,o),F=me(T),g=i?0:1,[b,q]=de(Ie,{titleId:null,descriptionId:null,panelRef:ie()}),m=A(()=>p(!1)),w=A(r=>q({type:0,id:r})),D=Ee()?g===0:!1,[z,Q]=xe(),Z={get current(){var r;return(r=b.panelRef.current)!=null?r:T.current}},v=De(),{resolveContainers:I}=Pe({mainTreeNode:v,portals:z,defaultContainers:[Z]}),B=c!==null?(c&x.Closing)===x.Closing:!1;Te(u||B?!1:D,{allowed:A(()=>{var r,H;return[(H=(r=T.current)==null?void 0:r.closest(\"[data-headlessui-portal]\"))!=null?H:null]}),disallowed:A(()=>{var r;return[(r=v==null?void 0:v.closest(\"body > *:not(#headlessui-portal-root)\"))!=null?r:null]})}),ce(D,I,r=>{r.preventDefault(),m()}),ue(D,F==null?void 0:F.defaultView,r=>{r.preventDefault(),r.stopPropagation(),document.activeElement&&\"blur\"in document.activeElement&&typeof document.activeElement.blur==\"function\"&&document.activeElement.blur(),m()}),ye(u||B?!1:D,F,I),ge(D,T,m);let[ee,te]=Re(),oe=E(()=>[{dialogState:g,close:m,setTitleId:w,unmount:P},b],[g,b,m,w,P]),U=E(()=>({open:g===0}),[g]),ne={ref:S,id:l,role:s,tabIndex:-1,\"aria-modal\":u?void 0:g===0?!0:void 0,\"aria-labelledby\":b.titleId,\"aria-describedby\":ee,unmount:P},re=!fe(),y=C.None;D&&!u&&(y|=C.RestoreFocus,y|=C.TabLock,f&&(y|=C.AutoFocus),re&&(y|=C.InitialFocus));let le=L();return n.createElement(_e,null,n.createElement(Y,{force:!0},n.createElement(be,null,n.createElement(k.Provider,{value:oe},n.createElement(ve,{target:T},n.createElement(Y,{force:!1},n.createElement(te,{slot:U},n.createElement(Q,null,n.createElement(Fe,{initialFocus:d,initialFocusFallback:T,containers:I,features:y},n.createElement(Ae,{value:m},le({ourProps:ne,theirProps:h,slot:U,defaultTag:Me,features:Ge,visible:g===0,name:\"Dialog\"})))))))))))}),Me=\"div\",Ge=J.RenderStrategy|J.Static;function ke(e,t){let{transition:o=!1,open:a,...l}=e,i=j(),p=e.hasOwnProperty(\"open\")||i!==null,d=e.hasOwnProperty(\"onClose\");if(!p&&!d)throw new Error(\"You have to provide an `open` and an `onClose` prop to the `Dialog` component.\");if(!p)throw new Error(\"You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.\");if(!d)throw new Error(\"You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.\");if(!i&&typeof e.open!=\"boolean\")throw new Error(`You provided an \\`open\\` prop to the \\`Dialog\\`, but the value is not a boolean. Received: ${e.open}`);if(typeof e.onClose!=\"function\")throw new Error(`You provided an \\`onClose\\` prop to the \\`Dialog\\`, but the value is not a function. Received: ${e.onClose}`);return(a!==void 0||o)&&!l.static?n.createElement($,null,n.createElement(Le,{show:a,transition:o,unmount:l.unmount},n.createElement(V,{ref:t,...l}))):n.createElement($,null,n.createElement(V,{ref:t,open:a,...l}))}let we=\"div\";function Be(e,t){let o=M(),{id:a=`headlessui-dialog-panel-${o}`,transition:l=!1,...i}=e,[{dialogState:p,unmount:d},s]=O(\"Dialog.Panel\"),f=G(t,s.panelRef),u=E(()=>({open:p===0}),[p]),P=A(S=>{S.stopPropagation()}),h={ref:f,id:a,onClick:P},R=l?X:N,c=l?{unmount:d}:{},T=L();return n.createElement(R,{...c},T({ourProps:h,theirProps:i,slot:u,defaultTag:we,name:\"Dialog.Panel\"}))}let Ue=\"div\";function He(e,t){let{transition:o=!1,...a}=e,[{dialogState:l,unmount:i}]=O(\"Dialog.Backdrop\"),p=E(()=>({open:l===0}),[l]),d={ref:t,\"aria-hidden\":!0},s=o?X:N,f=o?{unmount:i}:{},u=L();return n.createElement(s,{...f},u({ourProps:d,theirProps:a,slot:p,defaultTag:Ue,name:\"Dialog.Backdrop\"}))}let Ne=\"h2\";function We(e,t){let o=M(),{id:a=`headlessui-dialog-title-${o}`,...l}=e,[{dialogState:i,setTitleId:p}]=O(\"Dialog.Title\"),d=G(t);se(()=>(p(a),()=>p(null)),[a,p]);let s=E(()=>({open:i===0}),[i]),f={ref:d,id:a};return L()({ourProps:f,theirProps:l,slot:s,defaultTag:Ne,name:\"Dialog.Title\"})}let $e=_(ke),je=_(Be),Dt=_(He),Ye=_(We),Pt=K,yt=Object.assign($e,{Panel:je,Title:Ye,Description:K});export{yt as Dialog,Dt as DialogBackdrop,Pt as DialogDescription,je as DialogPanel,Ye as DialogTitle};\n","import{useRef as i}from\"react\";import{useIsoMorphicEffect as u}from'./use-iso-morphic-effect.js';function s(n,t){let e=i({left:0,top:0});if(u(()=>{if(!t)return;let r=t.getBoundingClientRect();r&&(e.current=r)},[n,t]),t==null||!n||t===document.activeElement)return!1;let o=t.getBoundingClientRect();return o.top!==e.current.top||o.left!==e.current.left}export{s as useDidElementMove};\n","let a=/([\\u2700-\\u27BF]|[\\uE000-\\uF8FF]|\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDFFF]|[\\u2011-\\u26FF]|\\uD83E[\\uDD10-\\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:\"\",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role=\"img\"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:\"\":n;return a.test(l)&&(l=l.replace(a,\"\")),l}function g(e){let n=e.getAttribute(\"aria-label\");if(typeof n==\"string\")return n.trim();let t=e.getAttribute(\"aria-labelledby\");if(t){let u=t.split(\" \").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute(\"aria-label\");return typeof i==\"string\"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(\", \")}return o(e).trim()}export{g as getTextValue};\n","import{useRef as l}from\"react\";import{getTextValue as i}from'../utils/get-text-value.js';import{useEvent as o}from'./use-event.js';function s(c){let t=l(\"\"),r=l(\"\");return o(()=>{let e=c.current;if(!e)return\"\";let u=e.innerText;if(t.current===u)return r.current;let n=i(e).trim().toLowerCase();return t.current=u,r.current=n,n})}export{s as useTextValue};\n","\"use client\";import{useFocusRing as Ae}from\"@react-aria/focus\";import{useHover as he}from\"@react-aria/interactions\";import A,{Fragment as xe,createContext as ae,createRef as De,useCallback as se,useContext as pe,useEffect as _e,useMemo as k,useReducer as Ie,useRef as ue,useState as Ce}from\"react\";import{flushSync as U}from\"react-dom\";import{useActivePress as Fe}from'../../hooks/use-active-press.js';import{useByComparator as Me}from'../../hooks/use-by-comparator.js';import{useControllable as Be}from'../../hooks/use-controllable.js';import{useDefaultValue as we}from'../../hooks/use-default-value.js';import{useDidElementMove as ke}from'../../hooks/use-did-element-move.js';import{useDisposables as Oe}from'../../hooks/use-disposables.js';import{useElementSize as Ue}from'../../hooks/use-element-size.js';import{useEvent as T}from'../../hooks/use-event.js';import{useId as de}from'../../hooks/use-id.js';import{useInertOthers as Ne}from'../../hooks/use-inert-others.js';import{useIsoMorphicEffect as ce}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as He}from'../../hooks/use-latest-value.js';import{useOnDisappear as Ge}from'../../hooks/use-on-disappear.js';import{useOutsideClick as Ve}from'../../hooks/use-outside-click.js';import{useOwnerDocument as Ke}from'../../hooks/use-owner.js';import{useResolveButtonType as je}from'../../hooks/use-resolve-button-type.js';import{useScrollLock as ze}from'../../hooks/use-scroll-lock.js';import{useSyncRefs as j}from'../../hooks/use-sync-refs.js';import{useTextValue as We}from'../../hooks/use-text-value.js';import{useTrackedPointer as Qe}from'../../hooks/use-tracked-pointer.js';import{transitionDataAttributes as Xe,useTransition as Je}from'../../hooks/use-transition.js';import{useDisabled as $e}from'../../internal/disabled.js';import{FloatingProvider as qe,useFloatingPanel as Ye,useFloatingPanelProps as Ze,useFloatingReference as et,useFloatingReferenceProps as tt,useResolvedAnchor as ot}from'../../internal/floating.js';import{FormFields as nt}from'../../internal/form-fields.js';import{useFrozenData as it}from'../../internal/frozen.js';import{useProvidedId as rt}from'../../internal/id.js';import{OpenClosedProvider as lt,State as Y,useOpenClosed as at}from'../../internal/open-closed.js';import{isDisabledReactIssue7711 as st}from'../../utils/bugs.js';import{Focus as v,calculateActiveIndex as fe}from'../../utils/calculate-active-index.js';import{disposables as pt}from'../../utils/disposables.js';import{Focus as ye,FocusableMode as ut,focusFrom as dt,isFocusableElement as ct,sortByDomNode as ft}from'../../utils/focus-management.js';import{attemptSubmit as bt}from'../../utils/form.js';import{match as V}from'../../utils/match.js';import{getOwnerDocument as Tt}from'../../utils/owner.js';import{RenderFeatures as ve,forwardRefWithAs as z,mergeProps as ge,useRender as W}from'../../utils/render.js';import{useDescribedBy as mt}from'../description/description.js';import{Keys as E}from'../keyboard.js';import{Label as xt,useLabelledBy as Ot,useLabels as yt}from'../label/label.js';import{Portal as vt}from'../portal/portal.js';var gt=(o=>(o[o.Open=0]=\"Open\",o[o.Closed=1]=\"Closed\",o))(gt||{}),Lt=(o=>(o[o.Single=0]=\"Single\",o[o.Multi=1]=\"Multi\",o))(Lt||{}),St=(o=>(o[o.Pointer=0]=\"Pointer\",o[o.Other=1]=\"Other\",o))(St||{}),Et=(n=>(n[n.OpenListbox=0]=\"OpenListbox\",n[n.CloseListbox=1]=\"CloseListbox\",n[n.GoToOption=2]=\"GoToOption\",n[n.Search=3]=\"Search\",n[n.ClearSearch=4]=\"ClearSearch\",n[n.RegisterOption=5]=\"RegisterOption\",n[n.UnregisterOption=6]=\"UnregisterOption\",n[n.SetButtonElement=7]=\"SetButtonElement\",n[n.SetOptionsElement=8]=\"SetOptionsElement\",n))(Et||{});function be(e,i=o=>o){let o=e.activeOptionIndex!==null?e.options[e.activeOptionIndex]:null,r=ft(i(e.options.slice()),m=>m.dataRef.current.domRef.current),a=o?r.indexOf(o):null;return a===-1&&(a=null),{options:r,activeOptionIndex:a}}let Pt={[1](e){return e.dataRef.current.disabled||e.listboxState===1?e:{...e,activeOptionIndex:null,listboxState:1,__demoMode:!1}},[0](e){if(e.dataRef.current.disabled||e.listboxState===0)return e;let i=e.activeOptionIndex,{isSelected:o}=e.dataRef.current,r=e.options.findIndex(a=>o(a.dataRef.current.value));return r!==-1&&(i=r),{...e,listboxState:0,activeOptionIndex:i,__demoMode:!1}},[2](e,i){var m,x,d,p,n;if(e.dataRef.current.disabled||e.listboxState===1)return e;let o={...e,searchQuery:\"\",activationTrigger:(m=i.trigger)!=null?m:1,__demoMode:!1};if(i.focus===v.Nothing)return{...o,activeOptionIndex:null};if(i.focus===v.Specific)return{...o,activeOptionIndex:e.options.findIndex(u=>u.id===i.id)};if(i.focus===v.Previous){let u=e.activeOptionIndex;if(u!==null){let P=e.options[u].dataRef.current.domRef,t=fe(i,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:s=>s.id,resolveDisabled:s=>s.dataRef.current.disabled});if(t!==null){let s=e.options[t].dataRef.current.domRef;if(((x=P.current)==null?void 0:x.previousElementSibling)===s.current||((d=s.current)==null?void 0:d.previousElementSibling)===null)return{...o,activeOptionIndex:t}}}}else if(i.focus===v.Next){let u=e.activeOptionIndex;if(u!==null){let P=e.options[u].dataRef.current.domRef,t=fe(i,{resolveItems:()=>e.options,resolveActiveIndex:()=>e.activeOptionIndex,resolveId:s=>s.id,resolveDisabled:s=>s.dataRef.current.disabled});if(t!==null){let s=e.options[t].dataRef.current.domRef;if(((p=P.current)==null?void 0:p.nextElementSibling)===s.current||((n=s.current)==null?void 0:n.nextElementSibling)===null)return{...o,activeOptionIndex:t}}}}let r=be(e),a=fe(i,{resolveItems:()=>r.options,resolveActiveIndex:()=>r.activeOptionIndex,resolveId:u=>u.id,resolveDisabled:u=>u.dataRef.current.disabled});return{...o,...r,activeOptionIndex:a}},[3]:(e,i)=>{if(e.dataRef.current.disabled||e.listboxState===1)return e;let r=e.searchQuery!==\"\"?0:1,a=e.searchQuery+i.value.toLowerCase(),x=(e.activeOptionIndex!==null?e.options.slice(e.activeOptionIndex+r).concat(e.options.slice(0,e.activeOptionIndex+r)):e.options).find(p=>{var n;return!p.dataRef.current.disabled&&((n=p.dataRef.current.textValue)==null?void 0:n.startsWith(a))}),d=x?e.options.indexOf(x):-1;return d===-1||d===e.activeOptionIndex?{...e,searchQuery:a}:{...e,searchQuery:a,activeOptionIndex:d,activationTrigger:1}},[4](e){return e.dataRef.current.disabled||e.listboxState===1||e.searchQuery===\"\"?e:{...e,searchQuery:\"\"}},[5]:(e,i)=>{let o={id:i.id,dataRef:i.dataRef},r=be(e,a=>[...a,o]);return e.activeOptionIndex===null&&e.dataRef.current.isSelected(i.dataRef.current.value)&&(r.activeOptionIndex=r.options.indexOf(o)),{...e,...r}},[6]:(e,i)=>{let o=be(e,r=>{let a=r.findIndex(m=>m.id===i.id);return a!==-1&&r.splice(a,1),r});return{...e,...o,activationTrigger:1}},[7]:(e,i)=>e.buttonElement===i.element?e:{...e,buttonElement:i.element},[8]:(e,i)=>e.optionsElement===i.element?e:{...e,optionsElement:i.element}},Te=ae(null);Te.displayName=\"ListboxActionsContext\";function Z(e){let i=pe(Te);if(i===null){let o=new Error(`<${e} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,Z),o}return i}let ee=ae(null);ee.displayName=\"ListboxDataContext\";function Q(e){let i=pe(ee);if(i===null){let o=new Error(`<${e} /> is missing a parent <Listbox /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,Q),o}return i}function Rt(e,i){return V(i.type,Pt,e,i)}let At=xe;function ht(e,i){var me;let o=$e(),{value:r,defaultValue:a,form:m,name:x,onChange:d,by:p,invalid:n=!1,disabled:u=o||!1,horizontal:P=!1,multiple:t=!1,__demoMode:s=!1,...F}=e;const M=P?\"horizontal\":\"vertical\";let h=j(i),D=we(a),[O=t?[]:void 0,g]=Be(r,d,D),[R,y]=Ie(Rt,{dataRef:De(),listboxState:s?0:1,options:[],searchQuery:\"\",activeOptionIndex:null,activationTrigger:1,optionsVisible:!1,buttonElement:null,optionsElement:null,__demoMode:s}),B=ue({static:!1,hold:!1}),w=ue(new Map),_=Me(p),b=se(f=>V(c.mode,{[1]:()=>O.some(S=>_(S,f)),[0]:()=>_(O,f)}),[O]),c=k(()=>({...R,value:O,disabled:u,invalid:n,mode:t?1:0,orientation:M,compare:_,isSelected:b,optionsPropsRef:B,listRef:w}),[O,u,n,t,R,w]);ce(()=>{R.dataRef.current=c},[c]);let N=c.listboxState===0;Ve(N,[c.buttonElement,c.optionsElement],(f,S)=>{var C;y({type:1}),ct(S,ut.Loose)||(f.preventDefault(),(C=c.buttonElement)==null||C.focus())});let L=k(()=>({open:c.listboxState===0,disabled:u,invalid:n,value:O}),[c,u,O,n]),H=T(f=>{let S=c.options.find(C=>C.id===f);S&&K(S.dataRef.current.value)}),te=T(()=>{if(c.activeOptionIndex!==null){let{dataRef:f,id:S}=c.options[c.activeOptionIndex];K(f.current.value),y({type:2,focus:v.Specific,id:S})}}),oe=T(()=>y({type:0})),X=T(()=>y({type:1})),J=Oe(),ne=T((f,S,C)=>{J.dispose(),J.microTask(()=>f===v.Specific?y({type:2,focus:v.Specific,id:S,trigger:C}):y({type:2,focus:f,trigger:C}))}),ie=T((f,S)=>(y({type:5,id:f,dataRef:S}),()=>y({type:6,id:f}))),K=T(f=>V(c.mode,{[0](){return g==null?void 0:g(f)},[1](){let S=c.value.slice(),C=S.findIndex(Re=>_(Re,f));return C===-1?S.push(f):S.splice(C,1),g==null?void 0:g(S)}})),re=T(f=>y({type:3,value:f})),$=T(()=>y({type:4})),q=T(f=>{y({type:7,element:f})}),l=T(f=>{y({type:8,element:f})}),I=k(()=>({onChange:K,registerOption:ie,goToOption:ne,closeListbox:X,openListbox:oe,selectActiveOption:te,selectOption:H,search:re,clearSearch:$,setButtonElement:q,setOptionsElement:l}),[]),[G,le]=yt({inherit:!0}),Se={ref:h},Ee=se(()=>{if(D!==void 0)return g==null?void 0:g(D)},[g,D]),Pe=W();return A.createElement(le,{value:G,props:{htmlFor:(me=c.buttonElement)==null?void 0:me.id},slot:{open:c.listboxState===0,disabled:u}},A.createElement(qe,null,A.createElement(Te.Provider,{value:I},A.createElement(ee.Provider,{value:c},A.createElement(lt,{value:V(c.listboxState,{[0]:Y.Open,[1]:Y.Closed})},x!=null&&O!=null&&A.createElement(nt,{disabled:u,data:{[x]:O},form:m,onReset:Ee}),Pe({ourProps:Se,theirProps:F,slot:L,defaultTag:At,name:\"Listbox\"}))))))}let Dt=\"button\";function _t(e,i){var N;let o=Q(\"Listbox.Button\"),r=Z(\"Listbox.Button\"),a=de(),m=rt(),{id:x=m||`headlessui-listbox-button-${a}`,disabled:d=o.disabled||!1,autoFocus:p=!1,...n}=e,u=j(i,et(),r.setButtonElement),P=tt(),t=T(L=>{switch(L.key){case E.Enter:bt(L.currentTarget);break;case E.Space:case E.ArrowDown:L.preventDefault(),U(()=>r.openListbox()),o.value||r.goToOption(v.First);break;case E.ArrowUp:L.preventDefault(),U(()=>r.openListbox()),o.value||r.goToOption(v.Last);break}}),s=T(L=>{switch(L.key){case E.Space:L.preventDefault();break}}),F=T(L=>{var H;if(st(L.currentTarget))return L.preventDefault();o.listboxState===0?(U(()=>r.closeListbox()),(H=o.buttonElement)==null||H.focus({preventScroll:!0})):(L.preventDefault(),r.openListbox())}),M=T(L=>L.preventDefault()),h=Ot([x]),D=mt(),{isFocusVisible:O,focusProps:g}=Ae({autoFocus:p}),{isHovered:R,hoverProps:y}=he({isDisabled:d}),{pressed:B,pressProps:w}=Fe({disabled:d}),_=k(()=>({open:o.listboxState===0,active:B||o.listboxState===0,disabled:d,invalid:o.invalid,value:o.value,hover:R,focus:O,autofocus:p}),[o.listboxState,o.value,d,R,O,B,o.invalid,p]),b=ge(P(),{ref:u,id:x,type:je(e,o.buttonElement),\"aria-haspopup\":\"listbox\",\"aria-controls\":(N=o.optionsElement)==null?void 0:N.id,\"aria-expanded\":o.listboxState===0,\"aria-labelledby\":h,\"aria-describedby\":D,disabled:d||void 0,autoFocus:p,onKeyDown:t,onKeyUp:s,onKeyPress:M,onClick:F},g,y,w);return W()({ourProps:b,theirProps:n,slot:_,defaultTag:Dt,name:\"Listbox.Button\"})}let Le=ae(!1),It=\"div\",Ct=ve.RenderStrategy|ve.Static;function Ft(e,i){var $,q;let o=de(),{id:r=`headlessui-listbox-options-${o}`,anchor:a,portal:m=!1,modal:x=!0,transition:d=!1,...p}=e,n=ot(a),[u,P]=Ce(null);n&&(m=!0);let t=Q(\"Listbox.Options\"),s=Z(\"Listbox.Options\"),F=Ke(t.optionsElement),M=at(),[h,D]=Je(d,u,M!==null?(M&Y.Open)===Y.Open:t.listboxState===0);Ge(h,t.buttonElement,s.closeListbox);let O=t.__demoMode?!1:x&&t.listboxState===0;ze(O,F);let g=t.__demoMode?!1:x&&t.listboxState===0;Ne(g,{allowed:se(()=>[t.buttonElement,t.optionsElement],[t.buttonElement,t.optionsElement])});let R=t.listboxState!==0,B=ke(R,t.buttonElement)?!1:h,w=h&&t.listboxState===1,_=it(w,t.value),b=T(l=>t.compare(_,l)),c=k(()=>{var I;if(n==null||!((I=n==null?void 0:n.to)!=null&&I.includes(\"selection\")))return null;let l=t.options.findIndex(G=>b(G.dataRef.current.value));return l===-1&&(l=0),l},[n,t.options]),N=(()=>{if(n==null)return;if(c===null)return{...n,inner:void 0};let l=Array.from(t.listRef.current.values());return{...n,inner:{listRef:{current:l},index:c}}})(),[L,H]=Ye(N),te=Ze(),oe=j(i,n?L:null,s.setOptionsElement,P),X=Oe();_e(()=>{var I;let l=t.optionsElement;l&&t.listboxState===0&&l!==((I=Tt(l))==null?void 0:I.activeElement)&&(l==null||l.focus({preventScroll:!0}))},[t.listboxState,t.optionsElement]);let J=T(l=>{var I,G;switch(X.dispose(),l.key){case E.Space:if(t.searchQuery!==\"\")return l.preventDefault(),l.stopPropagation(),s.search(l.key);case E.Enter:if(l.preventDefault(),l.stopPropagation(),t.activeOptionIndex!==null){let{dataRef:le}=t.options[t.activeOptionIndex];s.onChange(le.current.value)}t.mode===0&&(U(()=>s.closeListbox()),(I=t.buttonElement)==null||I.focus({preventScroll:!0}));break;case V(t.orientation,{vertical:E.ArrowDown,horizontal:E.ArrowRight}):return l.preventDefault(),l.stopPropagation(),s.goToOption(v.Next);case V(t.orientation,{vertical:E.ArrowUp,horizontal:E.ArrowLeft}):return l.preventDefault(),l.stopPropagation(),s.goToOption(v.Previous);case E.Home:case E.PageUp:return l.preventDefault(),l.stopPropagation(),s.goToOption(v.First);case E.End:case E.PageDown:return l.preventDefault(),l.stopPropagation(),s.goToOption(v.Last);case E.Escape:l.preventDefault(),l.stopPropagation(),U(()=>s.closeListbox()),(G=t.buttonElement)==null||G.focus({preventScroll:!0});return;case E.Tab:l.preventDefault(),l.stopPropagation(),U(()=>s.closeListbox()),dt(t.buttonElement,l.shiftKey?ye.Previous:ye.Next);break;default:l.key.length===1&&(s.search(l.key),X.setTimeout(()=>s.clearSearch(),350));break}}),ne=($=t.buttonElement)==null?void 0:$.id,ie=k(()=>({open:t.listboxState===0}),[t.listboxState]),K=ge(n?te():{},{id:r,ref:oe,\"aria-activedescendant\":t.activeOptionIndex===null||(q=t.options[t.activeOptionIndex])==null?void 0:q.id,\"aria-multiselectable\":t.mode===1?!0:void 0,\"aria-labelledby\":ne,\"aria-orientation\":t.orientation,onKeyDown:J,role:\"listbox\",tabIndex:t.listboxState===0?0:void 0,style:{...p.style,...H,\"--button-width\":Ue(t.buttonElement,!0).width},...Xe(D)}),re=W();return A.createElement(vt,{enabled:m?e.static||h:!1},A.createElement(ee.Provider,{value:t.mode===1?t:{...t,isSelected:b}},re({ourProps:K,theirProps:p,slot:ie,defaultTag:It,features:Ct,visible:B,name:\"Listbox.Options\"})))}let Mt=\"div\";function Bt(e,i){let o=de(),{id:r=`headlessui-listbox-option-${o}`,disabled:a=!1,value:m,...x}=e,d=pe(Le)===!0,p=Q(\"Listbox.Option\"),n=Z(\"Listbox.Option\"),u=p.activeOptionIndex!==null?p.options[p.activeOptionIndex].id===r:!1,P=p.isSelected(m),t=ue(null),s=We(t),F=He({disabled:a,value:m,domRef:t,get textValue(){return s()}}),M=j(i,t,b=>{b?p.listRef.current.set(r,b):p.listRef.current.delete(r)});ce(()=>{if(!p.__demoMode&&p.listboxState===0&&u&&p.activationTrigger!==0)return pt().requestAnimationFrame(()=>{var b,c;(c=(b=t.current)==null?void 0:b.scrollIntoView)==null||c.call(b,{block:\"nearest\"})})},[t,u,p.__demoMode,p.listboxState,p.activationTrigger,p.activeOptionIndex]),ce(()=>{if(!d)return n.registerOption(r,F)},[F,r,d]);let h=T(b=>{var c;if(a)return b.preventDefault();n.onChange(m),p.mode===0&&(U(()=>n.closeListbox()),(c=p.buttonElement)==null||c.focus({preventScroll:!0}))}),D=T(()=>{if(a)return n.goToOption(v.Nothing);n.goToOption(v.Specific,r)}),O=Qe(),g=T(b=>{O.update(b),!a&&(u||n.goToOption(v.Specific,r,0))}),R=T(b=>{O.wasMoved(b)&&(a||u||n.goToOption(v.Specific,r,0))}),y=T(b=>{O.wasMoved(b)&&(a||u&&n.goToOption(v.Nothing))}),B=k(()=>({active:u,focus:u,selected:P,disabled:a,selectedOption:P&&d}),[u,P,a,d]),w=d?{}:{id:r,ref:M,role:\"option\",tabIndex:a===!0?void 0:-1,\"aria-disabled\":a===!0?!0:void 0,\"aria-selected\":P,disabled:void 0,onClick:h,onFocus:D,onPointerEnter:g,onMouseEnter:g,onPointerMove:R,onMouseMove:R,onPointerLeave:y,onMouseLeave:y},_=W();return!P&&d?null:_({ourProps:w,theirProps:x,slot:B,defaultTag:Mt,name:\"Listbox.Option\"})}let wt=xe;function kt(e,i){let{options:o,placeholder:r,...a}=e,x={ref:j(i)},d=Q(\"ListboxSelectedOption\"),p=k(()=>({}),[]),n=d.value===void 0||d.value===null||d.mode===1&&Array.isArray(d.value)&&d.value.length===0,u=W();return A.createElement(Le.Provider,{value:!0},u({ourProps:x,theirProps:{...a,children:A.createElement(A.Fragment,null,r&&n?r:o)},slot:p,defaultTag:wt,name:\"ListboxSelectedOption\"}))}let Ut=z(ht),Nt=z(_t),Ht=xt,Gt=z(Ft),Vt=z(Bt),Kt=z(kt),Mo=Object.assign(Ut,{Button:Nt,Label:Ht,Options:Gt,Option:Vt,SelectedOption:Kt});export{Mo as Listbox,Nt as ListboxButton,Ht as ListboxLabel,Vt as ListboxOption,Gt as ListboxOptions,Kt as ListboxSelectedOption};\n","\"use client\";import{useFocusRing as Le}from\"@react-aria/focus\";import{useHover as Ie}from\"@react-aria/interactions\";import y,{createContext as oe,createRef as Pe,useContext as re,useEffect as ne,useMemo as D,useReducer as De,useRef as ee,useState as le}from\"react\";import{useActivePress as he}from'../../hooks/use-active-press.js';import{useElementSize as ke}from'../../hooks/use-element-size.js';import{useEvent as b}from'../../hooks/use-event.js';import{useEventListener as Ge}from'../../hooks/use-event-listener.js';import{useId as ae}from'../../hooks/use-id.js';import{useIsoMorphicEffect as He}from'../../hooks/use-iso-morphic-effect.js';import{useLatestValue as Ae}from'../../hooks/use-latest-value.js';import{useOnDisappear as Ue}from'../../hooks/use-on-disappear.js';import{useOutsideClick as Ne}from'../../hooks/use-outside-click.js';import{useOwnerDocument as fe}from'../../hooks/use-owner.js';import{useResolveButtonType as we}from'../../hooks/use-resolve-button-type.js';import{MainTreeProvider as Ce,useMainTreeNode as Ke,useRootContainers as We}from'../../hooks/use-root-containers.js';import{useScrollLock as je}from'../../hooks/use-scroll-lock.js';import{optionalRef as Ve,useSyncRefs as X}from'../../hooks/use-sync-refs.js';import{Direction as G,useTabDirection as Re}from'../../hooks/use-tab-direction.js';import{transitionDataAttributes as Be,useTransition as _e}from'../../hooks/use-transition.js';import{CloseProvider as $e}from'../../internal/close-provider.js';import{FloatingProvider as Je,useFloatingPanel as Xe,useFloatingPanelProps as qe,useFloatingReference as ze,useResolvedAnchor as Ye}from'../../internal/floating.js';import{Hidden as ce,HiddenFeatures as ve}from'../../internal/hidden.js';import{OpenClosedProvider as Qe,ResetOpenClosedProvider as Ze,State as q,useOpenClosed as Fe}from'../../internal/open-closed.js';import{isDisabledReactIssue7711 as xe}from'../../utils/bugs.js';import{Focus as H,FocusResult as Te,FocusableMode as et,focusIn as W,getFocusableElements as me,isFocusableElement as tt}from'../../utils/focus-management.js';import{match as j}from'../../utils/match.js';import'../../utils/micro-task.js';import{getOwnerDocument as ot}from'../../utils/owner.js';import{RenderFeatures as pe,forwardRefWithAs as z,mergeProps as ye,useRender as te}from'../../utils/render.js';import{Keys as V}from'../keyboard.js';import{Portal as rt,useNestedPortals as nt}from'../portal/portal.js';var lt=(f=>(f[f.Open=0]=\"Open\",f[f.Closed=1]=\"Closed\",f))(lt||{}),at=(p=>(p[p.TogglePopover=0]=\"TogglePopover\",p[p.ClosePopover=1]=\"ClosePopover\",p[p.SetButton=2]=\"SetButton\",p[p.SetButtonId=3]=\"SetButtonId\",p[p.SetPanel=4]=\"SetPanel\",p[p.SetPanelId=5]=\"SetPanelId\",p))(at||{});let pt={[0]:o=>({...o,popoverState:j(o.popoverState,{[0]:1,[1]:0}),__demoMode:!1}),[1](o){return o.popoverState===1?o:{...o,popoverState:1,__demoMode:!1}},[2](o,a){return o.button===a.button?o:{...o,button:a.button}},[3](o,a){return o.buttonId===a.buttonId?o:{...o,buttonId:a.buttonId}},[4](o,a){return o.panel===a.panel?o:{...o,panel:a.panel}},[5](o,a){return o.panelId===a.panelId?o:{...o,panelId:a.panelId}}},Ee=oe(null);Ee.displayName=\"PopoverContext\";function se(o){let a=re(Ee);if(a===null){let f=new Error(`<${o} /> is missing a parent <Popover /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(f,se),f}return a}let ue=oe(null);ue.displayName=\"PopoverAPIContext\";function be(o){let a=re(ue);if(a===null){let f=new Error(`<${o} /> is missing a parent <Popover /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(f,be),f}return a}let ge=oe(null);ge.displayName=\"PopoverGroupContext\";function Me(){return re(ge)}let ie=oe(null);ie.displayName=\"PopoverPanelContext\";function st(){return re(ie)}function ut(o,a){return j(a.type,pt,o,a)}let it=\"div\";function dt(o,a){var J;let{__demoMode:f=!1,...C}=o,T=ee(null),S=X(a,Ve(t=>{T.current=t})),p=ee([]),l=De(ut,{__demoMode:f,popoverState:f?0:1,buttons:p,button:null,buttonId:null,panel:null,panelId:null,beforePanelSentinel:Pe(),afterPanelSentinel:Pe(),afterButtonSentinel:Pe()}),[{popoverState:c,button:d,buttonId:r,panel:s,panelId:R,beforePanelSentinel:m,afterPanelSentinel:h,afterButtonSentinel:P},n]=l,v=fe((J=T.current)!=null?J:d),g=D(()=>{if(!d||!s)return!1;for(let E of document.querySelectorAll(\"body > *\"))if(Number(E==null?void 0:E.contains(d))^Number(E==null?void 0:E.contains(s)))return!0;let t=me(),e=t.indexOf(d),u=(e+t.length-1)%t.length,i=(e+1)%t.length,A=t[u],x=t[i];return!s.contains(A)&&!s.contains(x)},[d,s]),_=Ae(r),L=Ae(R),I=D(()=>({buttonId:_,panelId:L,close:()=>n({type:1})}),[_,L,n]),M=Me(),k=M==null?void 0:M.registerPopover,B=b(()=>{var t;return(t=M==null?void 0:M.isFocusWithinPopoverGroup())!=null?t:(v==null?void 0:v.activeElement)&&((d==null?void 0:d.contains(v.activeElement))||(s==null?void 0:s.contains(v.activeElement)))});ne(()=>k==null?void 0:k(I),[k,I]);let[U,O]=nt(),N=Ke(d),w=We({mainTreeNode:N,portals:U,defaultContainers:[d,s]});Ge(v==null?void 0:v.defaultView,\"focus\",t=>{var e,u,i,A,x,E;t.target!==window&&t.target instanceof HTMLElement&&c===0&&(B()||d&&s&&(w.contains(t.target)||(u=(e=m.current)==null?void 0:e.contains)!=null&&u.call(e,t.target)||(A=(i=h.current)==null?void 0:i.contains)!=null&&A.call(i,t.target)||(E=(x=P.current)==null?void 0:x.contains)!=null&&E.call(x,t.target)||n({type:1})))},!0),Ne(c===0,w.resolveContainers,(t,e)=>{n({type:1}),tt(e,et.Loose)||(t.preventDefault(),d==null||d.focus())});let F=b(t=>{n({type:1});let e=(()=>t?t instanceof HTMLElement?t:\"current\"in t&&t.current instanceof HTMLElement?t.current:d:d)();e==null||e.focus()}),Q=D(()=>({close:F,isPortalled:g}),[F,g]),K=D(()=>({open:c===0,close:F}),[c,F]),Z={ref:S},$=te();return y.createElement(Ce,{node:N},y.createElement(Je,null,y.createElement(ie.Provider,{value:null},y.createElement(Ee.Provider,{value:l},y.createElement(ue.Provider,{value:Q},y.createElement($e,{value:F},y.createElement(Qe,{value:j(c,{[0]:q.Open,[1]:q.Closed})},y.createElement(O,null,$({ourProps:Z,theirProps:C,slot:K,defaultTag:it,name:\"Popover\"})))))))))}let Pt=\"button\";function ft(o,a){let f=ae(),{id:C=`headlessui-popover-button-${f}`,disabled:T=!1,autoFocus:S=!1,...p}=o,[l,c]=se(\"Popover.Button\"),{isPortalled:d}=be(\"Popover.Button\"),r=ee(null),s=`headlessui-focus-sentinel-${ae()}`,R=Me(),m=R==null?void 0:R.closeOthers,P=st()!==null;ne(()=>{if(!P)return c({type:3,buttonId:C}),()=>{c({type:3,buttonId:null})}},[P,C,c]);let[n]=le(()=>Symbol()),v=X(r,a,ze(),b(e=>{if(!P){if(e)l.buttons.current.push(n);else{let u=l.buttons.current.indexOf(n);u!==-1&&l.buttons.current.splice(u,1)}l.buttons.current.length>1&&console.warn(\"You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported.\"),e&&c({type:2,button:e})}})),g=X(r,a),_=fe(r),L=b(e=>{var u,i,A;if(P){if(l.popoverState===1)return;switch(e.key){case V.Space:case V.Enter:e.preventDefault(),(i=(u=e.target).click)==null||i.call(u),c({type:1}),(A=l.button)==null||A.focus();break}}else switch(e.key){case V.Space:case V.Enter:e.preventDefault(),e.stopPropagation(),l.popoverState===1&&(m==null||m(l.buttonId)),c({type:0});break;case V.Escape:if(l.popoverState!==0)return m==null?void 0:m(l.buttonId);if(!r.current||_!=null&&_.activeElement&&!r.current.contains(_.activeElement))return;e.preventDefault(),e.stopPropagation(),c({type:1});break}}),I=b(e=>{P||e.key===V.Space&&e.preventDefault()}),M=b(e=>{var u,i;xe(e.currentTarget)||T||(P?(c({type:1}),(u=l.button)==null||u.focus()):(e.preventDefault(),e.stopPropagation(),l.popoverState===1&&(m==null||m(l.buttonId)),c({type:0}),(i=l.button)==null||i.focus()))}),k=b(e=>{e.preventDefault(),e.stopPropagation()}),{isFocusVisible:B,focusProps:U}=Le({autoFocus:S}),{isHovered:O,hoverProps:N}=Ie({isDisabled:T}),{pressed:w,pressProps:Y}=he({disabled:T}),F=l.popoverState===0,Q=D(()=>({open:F,active:w||F,disabled:T,hover:O,focus:B,autofocus:S}),[F,O,B,w,T,S]),K=we(o,l.button),Z=P?ye({ref:g,type:K,onKeyDown:L,onClick:M,disabled:T||void 0,autoFocus:S},U,N,Y):ye({ref:v,id:l.buttonId,type:K,\"aria-expanded\":l.popoverState===0,\"aria-controls\":l.panel?l.panelId:void 0,disabled:T||void 0,autoFocus:S,onKeyDown:L,onKeyUp:I,onClick:M,onMouseDown:k},U,N,Y),$=Re(),J=b(()=>{let e=l.panel;if(!e)return;function u(){j($.current,{[G.Forwards]:()=>W(e,H.First),[G.Backwards]:()=>W(e,H.Last)})===Te.Error&&W(me().filter(A=>A.dataset.headlessuiFocusGuard!==\"true\"),j($.current,{[G.Forwards]:H.Next,[G.Backwards]:H.Previous}),{relativeTo:l.button})}u()}),t=te();return y.createElement(y.Fragment,null,t({ourProps:Z,theirProps:p,slot:Q,defaultTag:Pt,name:\"Popover.Button\"}),F&&!P&&d&&y.createElement(ce,{id:s,ref:l.afterButtonSentinel,features:ve.Focusable,\"data-headlessui-focus-guard\":!0,as:\"button\",type:\"button\",onFocus:J}))}let ct=\"div\",vt=pe.RenderStrategy|pe.Static;function Oe(o,a){let f=ae(),{id:C=`headlessui-popover-backdrop-${f}`,transition:T=!1,...S}=o,[{popoverState:p},l]=se(\"Popover.Backdrop\"),[c,d]=le(null),r=X(a,d),s=Fe(),[R,m]=_e(T,c,s!==null?(s&q.Open)===q.Open:p===0),h=b(g=>{if(xe(g.currentTarget))return g.preventDefault();l({type:1})}),P=D(()=>({open:p===0}),[p]),n={ref:r,id:C,\"aria-hidden\":!0,onClick:h,...Be(m)};return te()({ourProps:n,theirProps:S,slot:P,defaultTag:ct,features:vt,visible:R,name:\"Popover.Backdrop\"})}let Tt=\"div\",mt=pe.RenderStrategy|pe.Static;function yt(o,a){let f=ae(),{id:C=`headlessui-popover-panel-${f}`,focus:T=!1,anchor:S,portal:p=!1,modal:l=!1,transition:c=!1,...d}=o,[r,s]=se(\"Popover.Panel\"),{close:R,isPortalled:m}=be(\"Popover.Panel\"),h=`headlessui-focus-sentinel-before-${f}`,P=`headlessui-focus-sentinel-after-${f}`,n=ee(null),v=Ye(S),[g,_]=Xe(v),L=qe();v&&(p=!0);let[I,M]=le(null),k=X(n,a,v?g:null,b(t=>s({type:4,panel:t})),M),B=fe(n);He(()=>(s({type:5,panelId:C}),()=>{s({type:5,panelId:null})}),[C,s]);let U=Fe(),[O,N]=_e(c,I,U!==null?(U&q.Open)===q.Open:r.popoverState===0);Ue(O,r.button,()=>{s({type:1})});let w=r.__demoMode?!1:l&&O;je(w,B);let Y=b(t=>{var e;switch(t.key){case V.Escape:if(r.popoverState!==0||!n.current||B!=null&&B.activeElement&&!n.current.contains(B.activeElement))return;t.preventDefault(),t.stopPropagation(),s({type:1}),(e=r.button)==null||e.focus();break}});ne(()=>{var t;o.static||r.popoverState===1&&((t=o.unmount)==null||t)&&s({type:4,panel:null})},[r.popoverState,o.unmount,o.static,s]),ne(()=>{if(r.__demoMode||!T||r.popoverState!==0||!n.current)return;let t=B==null?void 0:B.activeElement;n.current.contains(t)||W(n.current,H.First)},[r.__demoMode,T,n.current,r.popoverState]);let F=D(()=>({open:r.popoverState===0,close:R}),[r.popoverState,R]),Q=ye(v?L():{},{ref:k,id:C,onKeyDown:Y,onBlur:T&&r.popoverState===0?t=>{var u,i,A,x,E;let e=t.relatedTarget;e&&n.current&&((u=n.current)!=null&&u.contains(e)||(s({type:1}),((A=(i=r.beforePanelSentinel.current)==null?void 0:i.contains)!=null&&A.call(i,e)||(E=(x=r.afterPanelSentinel.current)==null?void 0:x.contains)!=null&&E.call(x,e))&&e.focus({preventScroll:!0})))}:void 0,tabIndex:-1,style:{...d.style,..._,\"--button-width\":ke(r.button,!0).width},...Be(N)}),K=Re(),Z=b(()=>{let t=n.current;if(!t)return;function e(){j(K.current,{[G.Forwards]:()=>{var i;W(t,H.First)===Te.Error&&((i=r.afterPanelSentinel.current)==null||i.focus())},[G.Backwards]:()=>{var u;(u=r.button)==null||u.focus({preventScroll:!0})}})}e()}),$=b(()=>{let t=n.current;if(!t)return;function e(){j(K.current,{[G.Forwards]:()=>{if(!r.button)return;let u=me(),i=u.indexOf(r.button),A=u.slice(0,i+1),E=[...u.slice(i+1),...A];for(let de of E.slice())if(de.dataset.headlessuiFocusGuard===\"true\"||I!=null&&I.contains(de)){let Se=E.indexOf(de);Se!==-1&&E.splice(Se,1)}W(E,H.First,{sorted:!1})},[G.Backwards]:()=>{var i;W(t,H.Previous)===Te.Error&&((i=r.button)==null||i.focus())}})}e()}),J=te();return y.createElement(Ze,null,y.createElement(ie.Provider,{value:C},y.createElement(ue.Provider,{value:{close:R,isPortalled:m}},y.createElement(rt,{enabled:p?o.static||O:!1},O&&m&&y.createElement(ce,{id:h,ref:r.beforePanelSentinel,features:ve.Focusable,\"data-headlessui-focus-guard\":!0,as:\"button\",type:\"button\",onFocus:Z}),J({ourProps:Q,theirProps:d,slot:F,defaultTag:Tt,features:mt,visible:O,name:\"Popover.Panel\"}),O&&m&&y.createElement(ce,{id:P,ref:r.afterPanelSentinel,features:ve.Focusable,\"data-headlessui-focus-guard\":!0,as:\"button\",type:\"button\",onFocus:$})))))}let Et=\"div\";function bt(o,a){let f=ee(null),C=X(f,a),[T,S]=le([]),p=b(P=>{S(n=>{let v=n.indexOf(P);if(v!==-1){let g=n.slice();return g.splice(v,1),g}return n})}),l=b(P=>(S(n=>[...n,P]),()=>p(P))),c=b(()=>{var v;let P=ot(f);if(!P)return!1;let n=P.activeElement;return(v=f.current)!=null&&v.contains(n)?!0:T.some(g=>{var _,L;return((_=P.getElementById(g.buttonId.current))==null?void 0:_.contains(n))||((L=P.getElementById(g.panelId.current))==null?void 0:L.contains(n))})}),d=b(P=>{for(let n of T)n.buttonId.current!==P&&n.close()}),r=D(()=>({registerPopover:l,unregisterPopover:p,isFocusWithinPopoverGroup:c,closeOthers:d}),[l,p,c,d]),s=D(()=>({}),[]),R=o,m={ref:C},h=te();return y.createElement(Ce,null,y.createElement(ge.Provider,{value:r},h({ourProps:m,theirProps:R,slot:s,defaultTag:Et,name:\"Popover.Group\"})))}let gt=z(dt),St=z(ft),At=z(Oe),Ct=z(Oe),Rt=z(yt),Bt=z(bt),lo=Object.assign(gt,{Button:St,Backdrop:Ct,Overlay:At,Panel:Rt,Group:Bt});export{lo as Popover,Ct as PopoverBackdrop,St as PopoverButton,Bt as PopoverGroup,At as PopoverOverlay,Rt as PopoverPanel};\n","\"use client\";import{useFocusRing as Q}from\"@react-aria/focus\";import{useHover as Y}from\"@react-aria/interactions\";import i,{Fragment as Z,createContext as ee,useCallback as te,useContext as oe,useMemo as R,useRef as re,useState as w}from\"react\";import{useActivePress as ne}from'../../hooks/use-active-press.js';import{useControllable as le}from'../../hooks/use-controllable.js';import{useDefaultValue as ie}from'../../hooks/use-default-value.js';import{useDisposables as ae}from'../../hooks/use-disposables.js';import{useEvent as f}from'../../hooks/use-event.js';import{useId as se}from'../../hooks/use-id.js';import{useResolveButtonType as pe}from'../../hooks/use-resolve-button-type.js';import{useSyncRefs as ce}from'../../hooks/use-sync-refs.js';import{useDisabled as ue}from'../../internal/disabled.js';import{FormFields as de}from'../../internal/form-fields.js';import{useProvidedId as me}from'../../internal/id.js';import{isDisabledReactIssue7711 as fe}from'../../utils/bugs.js';import{attemptSubmit as he}from'../../utils/form.js';import{forwardRefWithAs as be,mergeProps as Te,useRender as G}from'../../utils/render.js';import{Description as ye,useDescribedBy as Se,useDescriptions as we}from'../description/description.js';import{Keys as A}from'../keyboard.js';import{Label as Ee,useLabelledBy as _e,useLabels as Pe}from'../label/label.js';let E=ee(null);E.displayName=\"GroupContext\";let De=Z;function ge(n){var u;let[o,s]=w(null),[h,b]=Pe(),[T,t]=we(),p=R(()=>({switch:o,setSwitch:s}),[o,s]),y={},S=n,c=G();return i.createElement(t,{name:\"Switch.Description\",value:T},i.createElement(b,{name:\"Switch.Label\",value:h,props:{htmlFor:(u=p.switch)==null?void 0:u.id,onClick(d){o&&(d.currentTarget instanceof HTMLLabelElement&&d.preventDefault(),o.click(),o.focus({preventScroll:!0}))}}},i.createElement(E.Provider,{value:p},c({ourProps:y,theirProps:S,slot:{},defaultTag:De,name:\"Switch.Group\"}))))}let ve=\"button\";function xe(n,o){var L;let s=se(),h=me(),b=ue(),{id:T=h||`headlessui-switch-${s}`,disabled:t=b||!1,checked:p,defaultChecked:y,onChange:S,name:c,value:u,form:d,autoFocus:m=!1,...F}=n,_=oe(E),[H,k]=w(null),M=re(null),U=ce(M,o,_===null?null:_.setSwitch,k),l=ie(y),[a,r]=le(p,S,l!=null?l:!1),I=ae(),[P,D]=w(!1),g=f(()=>{D(!0),r==null||r(!a),I.nextFrame(()=>{D(!1)})}),B=f(e=>{if(fe(e.currentTarget))return e.preventDefault();e.preventDefault(),g()}),K=f(e=>{e.key===A.Space?(e.preventDefault(),g()):e.key===A.Enter&&he(e.currentTarget)}),W=f(e=>e.preventDefault()),O=_e(),N=Se(),{isFocusVisible:v,focusProps:J}=Q({autoFocus:m}),{isHovered:x,hoverProps:V}=Y({isDisabled:t}),{pressed:C,pressProps:X}=ne({disabled:t}),j=R(()=>({checked:a,disabled:t,hover:x,focus:v,active:C,autofocus:m,changing:P}),[a,x,v,C,t,P,m]),$=Te({id:T,ref:U,role:\"switch\",type:pe(n,H),tabIndex:n.tabIndex===-1?0:(L=n.tabIndex)!=null?L:0,\"aria-checked\":a,\"aria-labelledby\":O,\"aria-describedby\":N,disabled:t||void 0,autoFocus:m,onClick:B,onKeyUp:K,onKeyPress:W},J,V,X),q=te(()=>{if(l!==void 0)return r==null?void 0:r(l)},[r,l]),z=G();return i.createElement(i.Fragment,null,c!=null&&i.createElement(de,{disabled:t,data:{[c]:u||\"on\"},overrides:{type:\"checkbox\",checked:a},form:d,onReset:q}),z({ourProps:$,theirProps:F,slot:j,defaultTag:ve,name:\"Switch\"}))}let Ce=be(xe),Le=ge,Re=Ee,Ge=ye,Ye=Object.assign(Ce,{Group:Le,Label:Re,Description:Ge});export{Ye as Switch,Ge as SwitchDescription,Le as SwitchGroup,Re as SwitchLabel};\n","import * as React from \"react\";\nfunction CheckIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.704 4.153a.75.75 0 0 1 .143 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 0 1 1.05-.143Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CheckIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronRightIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronRightIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronUpDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronUpDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ExclamationCircleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-8-5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0v-4.5A.75.75 0 0 1 10 5Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ExclamationCircleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction InboxArrowDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 2a.75.75 0 0 1 .75.75v5.59l1.95-2.1a.75.75 0 1 1 1.1 1.02l-3.25 3.5a.75.75 0 0 1-1.1 0L6.2 7.26a.75.75 0 1 1 1.1-1.02l1.95 2.1V2.75A.75.75 0 0 1 10 2Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.273 4.5a1.25 1.25 0 0 0-1.205.918l-1.523 5.52c-.006.02-.01.041-.015.062H6a1 1 0 0 1 .894.553l.448.894a1 1 0 0 0 .894.553h3.438a1 1 0 0 0 .86-.49l.606-1.02A1 1 0 0 1 14 11h3.47a1.318 1.318 0 0 0-.015-.062l-1.523-5.52a1.25 1.25 0 0 0-1.205-.918h-.977a.75.75 0 0 1 0-1.5h.977a2.75 2.75 0 0 1 2.651 2.019l1.523 5.52c.066.239.099.485.099.732V15a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3.73c0-.246.033-.492.099-.73l1.523-5.521A2.75 2.75 0 0 1 5.273 3h.977a.75.75 0 0 1 0 1.5h-.977Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(InboxArrowDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction LinkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(LinkIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PaperAirplaneIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.105 2.288a.75.75 0 0 0-.826.95l1.414 4.926A1.5 1.5 0 0 0 5.135 9.25h6.115a.75.75 0 0 1 0 1.5H5.135a1.5 1.5 0 0 0-1.442 1.086l-1.414 4.926a.75.75 0 0 0 .826.95 28.897 28.897 0 0 0 15.293-7.155.75.75 0 0 0 0-1.114A28.897 28.897 0 0 0 3.105 2.288Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PaperAirplaneIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction XMarkIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(XMarkIcon);\nexport default ForwardRef;","import React, { useEffect } from \"react\";\n\nimport { Fragment, useState } from \"react\";\nimport { Listbox, Transition } from \"@headlessui/react\";\nimport { CheckIcon, ChevronUpDownIcon } from \"@heroicons/react/20/solid\";\n\ntype Option = { label: string; value: string; disabled?: boolean };\ntype Props = {\n list: Option[];\n value: string;\n onChange: (value: string | null) => void;\n disabled?: boolean;\n placeHolder?: string;\n error?: string;\n};\n\nexport default function Select({ list, onChange, value, disabled, placeHolder, error }: Props) {\n\n // useEffect(() => {\n // // Pour prendre le compte la possibilité de publier directement un post\n // // Pour le Select appelé dans PostGeneratorForm.tsx ligne 584\n // // A REFACTO\n // if (disabled && value !== \"publish_now\") {\n // onChange(null)\n // }\n // }, [disabled])\n\n let className = \"flex flex-1 w-full border-gray-300 rounded-md shadow-sm form-input\"\n\n if (error) {\n className += \" border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n } else { \n className += \" focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }\n\n return (\n <Listbox disabled={Boolean(disabled)} value={value} onChange={onChange} by=\"label\">\n <div\n className={`relative `}\n >\n <Listbox.Button className={className} autoFocus={Boolean(error)}>\n <span className={`block truncate ${!value && \"text-gray-500\"} pr-4 `}>{list.find(o => o.value === value)?.label || placeHolder || \"Aucun\"}</span>\n <span className=\"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none\">\n <ChevronUpDownIcon\n className=\"w-5 h-5 text-gray-400\"\n aria-hidden=\"true\"\n />\n </span>\n </Listbox.Button>\n <Transition\n as={Fragment}\n leave=\"transition ease-in duration-100\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <Listbox.Options className=\"absolute left-0 z-10 w-full py-2 mt-1 overflow-scroll origin-top-left bg-white border-gray-300 rounded-md shadow-2xl ring-1 ring-black ring-opacity-5 focus:outline-none max-h-64\">\n {list.map((option) => (\n <Listbox.Option\n key={option.label}\n className={({ active }) =>\n `relative select-none cursor-pointer pl-3 py-1 ${active ? \" bg-indigo-500 text-white\" : \"bg-white\"\n } ${option.disabled ? \"text-gray-300\" : \"text-gray-900\"}`\n }\n value={option.value}\n disabled={option.disabled}\n >\n <span className={`block truncate`}>{option.label}</span>\n </Listbox.Option>\n ))}\n </Listbox.Options>\n </Transition>\n {error && <small className=\"mt-2 text-sm text-red-500\">{error}</small>}\n </div>\n </Listbox>\n );\n}\n","import React, { ReactNode } from \"react\";\n\ntype FieldProps = {\n title?: string;\n hint?: string;\n children: ReactNode;\n disabled?: boolean;\n error?: string;\n};\nconst FormField = ({\n title,\n hint,\n children,\n disabled = false,\n error,\n}: FieldProps) => (\n <div\n className={`input-root col-span-3 sm:col-span-2 ${disabled ? \"opacity-50\" : \"\"\n }`}\n >\n {title && (\n <label className=\"block mb-1 text-base font-semibold text-gray-700\">\n {title}\n </label>\n )}\n <div className=\"relative\">{children}</div>\n {typeof error === \"string\" ? (\n <small className=\"mt-2 text-sm text-red-500\">{error}</small>\n ) : (\n hint && <small className=\"mt-2 text-sm text-gray-500\">{hint}</small>\n )}\n </div>\n);\n\nexport default FormField;\n","import React from 'react'\n\ninterface ChoiceButtonProps {\n handleAiButtonClick: () => void\n handleManualButtonClick: () => void\n showInputMessage: boolean\n}\n\nconst ChoiceButton: React.FC<ChoiceButtonProps> = ({\n handleAiButtonClick,\n handleManualButtonClick,\n showInputMessage\n}) => {\n return (\n <div className='flex justify-start items-center gap-6'>\n\n <button\n type=\"button\" onClick={handleAiButtonClick}\n className={`grow flex-1 justify-center relative border border-gray-300 rounded-lg shadow-sm p-4 flex cursor-pointer focus:outline-none space-x-2 text-sm ${showInputMessage\n ? \"text-brand_main border-brand_focus ring ring-brand_lighter ring-opacity-50\"\n : \"text-gray-500 border-gray-300 \"\n }`}\n >\n\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" strokeWidth={1.5} stroke=\"currentColor\" className=\"w-4 h-4\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z\" />\n </svg>\n\n <span>Génération Automatique</span>\n </button>\n\n <button\n type=\"button\" onClick={handleManualButtonClick}\n className={`grow flex-1 justify-center relative border border-gray-300 rounded-lg shadow-sm p-4 flex cursor-pointer focus:outline-none space-x-2 text-sm ${!showInputMessage\n ? \"text-brand_main border-brand_focus ring ring-brand_lighter ring-opacity-50\"\n : \"text-gray-500 border-gray-300 \"\n }`}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" strokeWidth={1.5} stroke=\"currentColor\" className=\"w-4 h-4\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125\" />\n </svg>\n <span>Saisie Manuelle</span>\n </button>\n </div>\n )\n}\n\nexport default ChoiceButton\n","import React from \"react\";\n\nconst Spinner = ({ className }: { className: string }) => (\n <svg\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n className=\"opacity-50\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n ></circle>\n <path\n className=\"opacity-90\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n);\n\nexport default Spinner;\n","import React from \"react\"\nimport { FormattedMessage } from \"react-intl\";\nimport { SparklesIcon } from \"@heroicons/react/24/outline\";\nimport Spinner from \"./Spinner\";\nimport { placeholder } from \"@cloudinary/react\";\n\ninterface OpenAiFormProps {\n prompt: string,\n message: string,\n placeholder: string,\n setPrompt: React.Dispatch<React.SetStateAction<string>>\n loading: boolean\n error: string | null\n Submit: () => void\n}\n\n\nconst OpenAiForm: React.FC<OpenAiFormProps> = ({\n prompt,\n message,\n placeholder,\n setPrompt,\n loading,\n error,\n Submit\n}) => {\n\n return (\n <form className=\"flex flex-col gap-3\">\n <div className=\"flex items-center text-base font-semibold leading-6 text-gray-700 gap-1\">\n <SparklesIcon className=\"size-4\" />\n <FormattedMessage id=\"url_scrapper.prompt\" defaultMessage=\"AI Generation\" />\n </div>\n <div className=\"flex text-start text-base text-gray-500\">\n <FormattedMessage id=\"url_scrapper.prompt\" defaultMessage={message} />\n </div>\n <div className=\"flex items-center mt-3 bg-red-100\">\n <input\n type=\"text\"\n onChange={\n (e) => setPrompt(e.target.value)\n }\n value={prompt}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n Submit();\n }\n }}\n className=\"pr-16 w-full text-sm form-input flex flex-1 rounded-md border-gray-300 shadow-sm focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20 \"\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n onClick={Submit}\n className={`h-full w-16 p-2 font-medium text-white bg-brand_main rounded-r-md border border-gray-300 hover:bg-brand_darker duration-300 ${loading ? \"ring-4 ring-brand_lighter\" : \"\"} `}\n >\n <span className=\"mb-2\">\n {!loading ? (\n <>\n <FormattedMessage id=\"url_scrapper.go\" defaultMessage=\"GO!\" />\n <SparklesIcon className=\"inline h-4 w-4\" /></>) : <Spinner className=\"animate-spin mb-1 ml-4 h-5 w-5 text-white\" />}\n </span>\n </button>\n </div>\n {\n error ?\n (\n <div className=\"mt-2 p-2 bg-red-500 text-white text-sm font-bold rounded\">\n {error}\n </div>\n ) :\n (\n <></>\n )\n }\n </form>\n )\n}\n\nexport default OpenAiForm","import { SparklesIcon } from \"@heroicons/react/24/solid\";\nimport React, { useState } from \"react\";\nimport Spinner from \"./Spinner\";\nimport { getCSRFToken } from \"./utils/various\";\nimport { FormattedMessage } from \"react-intl\";\n\n\nfunction UrlScraper({\n redirectionCallback,\n creationUrl\n}: {\n creationUrl: string;\n redirectionCallback: (id: string) => string;\n}) {\n const [link, setLink] = useState(\"\");\n\n const [loading, setloading] = useState(false);\n\n const send = async () => {\n\n const reconstructed_url = link;\n if (reconstructed_url) {\n setloading(true)\n\n const response = await fetch(creationUrl, {\n method: \"POST\",\n body: JSON.stringify({\n content: {\n reconstructed_url,\n title: \"Titre Provisoire\",\n quick_reply_topic: \"real estate\",\n },\n }),\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getCSRFToken(),\n },\n });\n if (response.ok) {\n setloading(false)\n const newContent = await response.json();\n console.log(redirectionCallback(newContent.id))\n\n window.Turbo?.visit(redirectionCallback(newContent.id));\n } else {\n setloading(false)\n\n }\n }\n };\n\n return (\n <div>\n <h3 className=\"flex text-sm items-baseline font-semibold leading-6 text-gray-700\">\n <SparklesIcon className=\"h-3 w-3 mr-1\" />\n <FormattedMessage id=\"url_scrapper.smartlink\" defaultMessage=\"Smartlink\" />\n </h3>\n <p className=\"text-sm text-gray-500\">\n <FormattedMessage id=\"url_scrapper.hint_url\" defaultMessage=\"Renseignez l'URL d'un contenu d'internet (Article de presse, Blog, Vidéo Youtube), nous tenterons d'en extraire les données.\" />\n </p>\n <div className=\"mt-2 relative w-full \">\n <input\n onChange={(e) => setLink(e.target.value)}\n className=\"pr-16 w-full text-sm form-input flex flex-1 rounded-md border-gray-300 shadow-sm focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20 \"\n placeholder=\"https://immobilier.lefigaro.fr/\"\n />\n <button\n type=\"button\"\n onClick={send}\n className={`h-full w-16 absolute top-0 right-0 p-2 font-medium text-white bg-brand_main rounded-r-md border border-gray-300 hover:bg-brand_darker duration-300 ${loading ? \"ring-4 ring-brand_lighter\" : \"\"} `}\n >\n <span className=\"mb-2\">\n {!loading ? (\n <>\n <FormattedMessage id=\"url_scrapper.go\" defaultMessage=\"GO!\" />\n <SparklesIcon className=\"inline h-4 w-4\" /></>) : <Spinner className=\"animate-spin mb-1 ml-4 h-5 w-5 text-white\" />}\n </span>\n </button>\n </div>\n </div>\n );\n}\n\n\n\nexport default UrlScraper;\n","import React from \"react\";\n\ntype Props = {\n leftSideElements?: React.ReactNode;\n children?: React.ReactNode;\n title?: string;\n description?: string;\n};\nfunction FormLayout({ leftSideElements, children, title, description }: Props) {\n return (\n <div className=\"px-4 py-5 mb-8 bg-white shadow sm:rounded-lg sm:p-6 md:grid md:grid-cols-3 md:gap-16\">\n <div id=\"left-0\" className= \"md:col-span-1 space-y-8\">\n <div>\n {title && (\n <h3 className=\"text-lg font-medium leading-6 text-gray-900\">\n {title}\n </h3>\n )}\n {description && (\n <p className=\"mt-1 text-sm text-gray-500\">{description}</p>\n )}\n </div>\n {leftSideElements}\n </div>\n <div className=\"mt-5 md:mt-0 md:col-span-2 space-y-8\">{children}</div>\n </div>\n );\n}\n\nexport default FormLayout;\n","import { UseFormSetValue } from \"react-hook-form\";\nimport { ContentMedium } from \"../types\";\nimport { useEffect, useState } from \"react\";\nimport { getCSRFToken } from \"../components/utils/various\";\n\nexport const useOpenAI = (\n prompt: string,\n loading: boolean,\n setLoading: React.Dispatch<React.SetStateAction<boolean>>,\n media: ContentMedium[],\n setValue: UseFormSetValue<any>,\n setShowInputMessage: React.Dispatch<React.SetStateAction<boolean | null>>,\n getValues: any,\n fieldPath: string,\n apiRoute: string\n) => {\n const imageUrls = media.map(m => m.serialized_file?.secure_url).filter(url => url !== undefined);\n const [responseFromOpenAI, setResponseFromOpenAI] = useState<string>(\"\");\n const [disabledInput, setDisabledInput] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n const simulateTyping = (fullText: string, index = 0, callback: () => void) => {\n if (index < fullText.length) {\n const nextChar = fullText.charAt(index);\n const currentValue = getValues(fieldPath) || \"\";\n const newValue = currentValue + nextChar;\n setValue(fieldPath, newValue, { shouldValidate: true });\n\n setTimeout(() => {\n simulateTyping(fullText, index + 1, callback);\n }, 10);\n } else {\n callback();\n }\n };\n\n const SubmitOpenAI = async () => {\n setLoading(true);\n setDisabledInput(true);\n setError(null);\n try {\n const response = await fetch(apiRoute, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getCSRFToken(),\n },\n body: JSON.stringify({\n prompt: prompt,\n media: imageUrls,\n }),\n });\n if (response.ok) {\n const data = await response.json();\n setResponseFromOpenAI(data.answer);\n } else {\n const errorData = await response.json();\n setError(errorData.message || 'Une erreur est survenue lors de l’appel à OpenAI.');\n }\n } catch (error) {\n setError('Erreur de réseau ou problème de serveur.');\n console.error(\"Erreur lors de l'appel à OpenAI ->\", error);\n }\n setShowInputMessage(false);\n setLoading(false);\n };\n\n useEffect(() => {\n if (responseFromOpenAI) {\n simulateTyping(responseFromOpenAI, 0, () => setDisabledInput(false));\n }\n }, [responseFromOpenAI]);\n\n useEffect(() => {\n if (error) {\n setDisabledInput(false);\n setTimeout(() => {\n setError(null);\n }, 4000);\n }\n }, [error]);\n\n return { SubmitOpenAI, disabledInput, error };\n};\n","export const useUserChoice = (setShowInputMessage: React.Dispatch<React.SetStateAction<boolean | null>>) => {\n const handleAIButtonClick = () => {\n setShowInputMessage(true);\n };\n \n const handleManualButtonClick = () => {\n setShowInputMessage(false);\n };\n\n return {\n handleAIButtonClick,\n handleManualButtonClick\n }\n}","import React, { InputHTMLAttributes, TextareaHTMLAttributes, useEffect } from 'react'\nimport FormField from './FormField'\n\n\ninterface TextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {\n title?: string,\n label?: string,\n hint?: string,\n error?: string,\n readonly?: boolean\n} \n\n\nconst TextArea = React.forwardRef<HTMLTextAreaElement, TextAreaProps>(({title, label, hint, error, readonly, disabled, ...rest}, ref) => {\n\n return (\n <FormField\n title={title}\n hint={hint}\n disabled={disabled}\n error={error}\n >\n <textarea\n ref={ref}\n disabled={readonly}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${\n error\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n {...rest}\n />\n </FormField> )\n});\n\nexport default TextArea","import { ContentMedium } from \"../types\";\n type Focus = \"link\" | \"video\" | \"images\" | \"image\" | \"none\";\n\n const computeFocus = (media: ContentMedium[], linkUrl: string|null): {focus: Focus, accept: string} => {\n if (linkUrl) {\n return {focus: \"link\", accept: \"image/*\"};\n } else if (media.filter((m) => !m.destroy && m.serialized_file.resource_type === \"video\")\n .length > 0) {\n return {focus: \"video\", accept: \"video/*\"};\n } else if (\n media.filter((m) => !m.destroy && m.serialized_file.resource_type === \"image\").length >\n 1\n ) {\n return {focus: \"images\", accept: \"image/*\"};\n } else if (\n media.filter((m) => !m.destroy && m.serialized_file.resource_type === \"image\").length >\n 0\n ) {\n return {focus: \"image\", accept: \"image/*\"};\n } else {\n return {focus: \"none\", accept: \"image/*,video/*\"};\n }\n }\n\nexport default computeFocus;","import React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { gql, GraphQLClient } from \"graphql-request\";\nimport ChannelAccountSelector from \"./ChannelAccountSelector\";\nimport ContentMediaUploader from \"./ContentMediaUploader\";\nimport FacebookPreview from \"./FacebookPreview\";\nimport InsertableTextInput from \"./InsertableTextInput\";\nimport Select from \"./Select\";\nimport { getCSRFToken, formatMediaHolders } from \"./utils/various\";\nimport {\n BoltIcon,\n PaperAirplaneIcon,\n ClockIcon,\n} from \"@heroicons/react/24/solid\";\n\nimport {\n Channel,\n ContentMedium,\n isPersisted,\n ChannelAccount,\n CompanyContent,\n MediaHolder,\n} from \"../types\";\nimport DatePicker from \"./DatePicker\";\nimport FormField from \"./FormField\";\nimport CharacterCountPost from \"./CharacterCountPost\";\nimport ChoiceButton from \"./ChoiceButton\";\nimport OpenAiForm from \"./OpenAiForm\";\nimport UrlScraper from \"./UrlScraper\";\nimport FormLayout from \"./FormLayout\";\nimport { useOpenAI } from \"../hook/useOpenAI\";\nimport { useUserChoice } from \"../hook/useUserChoice\";\nimport TextArea from \"./TextArea\";\nimport Spinner from \"./Spinner\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport computeFocus from \"../utils/computeFocus\";\n\ntype Props = {\n company_content: CompanyContent;\n example_account: {\n displayed_name: string;\n picture_url: string;\n company: {\n email: string;\n company: string;\n phone: string;\n hashtag: string;\n website: string;\n displayed_name: string;\n client_code: string;\n last_landing_path: string;\n last_newsletter_path: string;\n last_apilink: string;\n promo_code: string;\n sponsor_link: string;\n };\n };\n channel_accounts: Array<ChannelAccount & { channel: Channel }>;\n periodicity_options: Record<string, string>;\n current_company: any;\n};\n\nexport default function CompanyContentForm(props: Props) {\n const { current_company } = props;\n const [submitted, setSubmitted] = useState(false);\n const { body = { body_media: [] }, ...company_content } = props.company_content;\n console.log(\"company_content\", company_content);\n const [prompt, setPrompt] = useState<string>(\"\")\n const [loading, setLoading] = useState(false)\n const [showInputMessage, setShowInputMessage] = useState<boolean | null>(false);\n\n const {\n register,\n handleSubmit,\n getValues,\n watch,\n control,\n formState: { errors, isSubmitted },\n setValue,\n trigger,\n } = useForm({\n defaultValues: {\n company_content: {\n ...company_content,\n body,\n },\n },\n });\n\n const [media, setMedia] = useState<MediaHolder[]>(\n body.body_media\n .filter((m: MediaHolder) => m.content_medium.serialized_file)\n .sort(\n (a: MediaHolder, b: MediaHolder) =>\n (a.position || 0) - (b.position || 0)\n // Si undefined on met la valeur max (media.length)\n ) || []\n );\n\n const ctaOptions = [\n { label: \"Commander\", value: \"order_now\" },\n { label: \"Acheter\", value: \"shop_now\" },\n { label: \"En savoir plus\", value: \"learn_more\" },\n { label: \"S'inscrire\", value: \"sign_up\" },\n { label: \"Appeler\", value: \"call_now\" },\n { label: \"Nous contacter\", value: \"contact_us\" },\n ];\n\n const graphQLClient = new GraphQLClient(\"/graphql/\", {\n headers: { \"X-CSRF-Token\": getCSRFToken() },\n });\n\n const onSubmit = async (data: any) => {\n setSubmitted(true);\n\n const bodyMedia = formatMediaHolders(media);\n\n const mutation = gql`\n mutation ($companyContent: CompanyContent${company_content.id ? \"Update\" : \"\"\n }Input!) {\n ${company_content.id ? \"update\" : \"create\"\n }CompanyContent(input: { companyContent: $companyContent }) {\n companyContent {\n body {\n id\n message\n contentMedia {\n medium\n }\n }\n }\n }\n }\n `;\n\n const variables = {\n companyContent: {\n id: company_content.id || undefined,\n focus: data.company_content.focus,\n expiresAt: data.company_content.expires_at,\n title: data.company_content.title,\n body: {\n message: data.company_content.body.message,\n bodyMediaAttributes: bodyMedia,\n linkUrl: data.company_content.body?.link_url,\n linkDescription: data.company_content.body?.link_description,\n linkCta: data.company_content.body?.link_cta,\n },\n },\n };\n\n const response: any = await graphQLClient.request(mutation, variables);\n if (!response.errors) {\n window.Turbo?.visit(`/${intl.locale}/company_contents`);\n }\n setSubmitted(false);\n };\n\n useEffect(() => {\n console.log(\"errors\", errors);\n });\n\n const message = watch(\"company_content.body.message\");\n\n const link_description = watch(\"company_content.body.link_description\");\n const previewCta = ctaOptions.find(\n (cta) => cta.value && cta.value === watch(\"company_content.body.link_cta\")\n )?.label;\n\n const linkUrl = watch(\"company_content.body.link_url\");\n\n const { focus, accept } = computeFocus(media.map(m => m.content_medium), linkUrl);\n\n const intl = useIntl();\n const { SubmitOpenAI, disabledInput, error } = useOpenAI(\n prompt,\n loading,\n setLoading,\n media.map((m) => m.content_medium),\n setValue,\n setShowInputMessage,\n getValues,\n \"company_content.body.message\",\n `/body/call_for_company_content`\n );\n\n const { handleAIButtonClick, handleManualButtonClick } = useUserChoice(setShowInputMessage);\n const [showIntegratedLink, setShowIntegratedLink] = useState(Boolean(linkUrl));\n const handleIntegratedLink = () => {\n if ([\"images\", \"video\"].includes(focus) && !showIntegratedLink) return;\n if (showIntegratedLink) {\n setValue(\"company_content.body.link_url\", null);\n setValue(\"company_content.body.link_description\", null);\n setValue(\"company_content.body.link_cta\", null);\n }\n setShowIntegratedLink(!showIntegratedLink);\n };\n useEffect(() => {\n if ([\"images\", \"video\"].includes(focus)) {\n setShowIntegratedLink(false);\n setValue(\"company_content.body.link_url\", null);\n setValue(\"company_content.body.link_description\", null);\n setValue(\"company_content.body.link_cta\", null);\n }\n }, [focus]);\n\n return (\n <form onSubmit={handleSubmit(onSubmit)}>\n <FormLayout\n title={intl.formatMessage({\n id: \"company_content_form.publication\",\n defaultMessage: \"Publication\",\n })}\n description={intl.formatMessage({\n id: \"company_content_form.edit_content\",\n defaultMessage:\n \"Éditez la forme et le contenu de votre nouvelle campagne\",\n })}\n leftSideElements={\n <>\n <div>\n <FacebookPreview\n focus={focus}\n teaser={message}\n cta={previewCta}\n description={link_description || \"\"}\n reconstructed_url={linkUrl || \"\"}\n exampleAccount={props.example_account}\n media={media.filter((m: MediaHolder) => !(isPersisted(m) && m.destroy)).map((m) => m.content_medium)}\n />\n </div>\n <div>\n <UrlScraper\n creationUrl={\"/contents\"}\n redirectionCallback={(id) =>\n `/company_contents/new?instantiate_from[type]=content&instantiate_from[id]=${id}`\n }\n />\n </div>\n <div className=\"hidden lg:block\">\n <h3 className=\"flex items-baseline text-sm font-semibold leading-6 text-gray-700\">\n <BoltIcon className=\"w-3 h-3 mr-1\" />\n <FormattedMessage\n id=\"company_content_form.tips\"\n defaultMessage=\"Astuce\"\n />\n </h3>\n <p className=\"text-sm text-gray-500\">\n <FormattedMessage\n id=\"company_content_form.key_words\"\n defaultMessage=\"Utilisez les mots clés\"\n />{\" \"}\n {[\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\",\n \"$LANDING\",\n \"$NEWSLETTER\",\n \"$APILINK\",\n \"$PROMOCODE\",\n \"$SPONSORLINK\"\n ].map((v) => (\n <span key={v}>\n <span className=\"font-medium text-gray-700\">{v}</span>\n {\", \"}\n </span>\n ))}\n <FormattedMessage\n id=\"company_content_form.custom_your_publications\"\n defaultMessage=\"pour personnaliser vos publications avec les valeurs correspondantes chez chaque affilié.\"\n />\n </p>\n </div>\n </>\n }\n >\n <FormField\n title={intl.formatMessage({\n id: \"company_content_form.media\",\n defaultMessage: \"Média\",\n })}\n hint={intl.formatMessage({\n id: \"company_content_form.media_hint\",\n defaultMessage:\n \"Ajoutez des images ou une vidéo à votre contenu. Le lien integré ne permet pas l'ajout de vidéo.\",\n })}\n >\n <ContentMediaUploader\n inputProps={{\n multiple: true,\n accept,\n }}\n disabled={\n [\"video\", \"link\"].includes(focus) &&\n media.filter((m) => !m.destroy).length > 0\n }\n innerInfos={\n focus === \"none\" ? (\n <FormattedMessage\n id=\"company_content_form.file_format_any\"\n defaultMessage=\"Insérez ici vos vidéos ou images\"\n />\n ) : focus === \"video\" ? (\n <FormattedMessage\n id=\"company_content_form.file_format_video\"\n defaultMessage=\"MP4, WEBM\"\n />\n ) : (\n <FormattedMessage\n id=\"company_content_form.file_format_image\"\n defaultMessage=\"JPG, PNG\"\n />\n )\n }\n setMedia={(m) => {\n setMedia(m);\n setTimeout(() => {\n //trigger(\"company_content.focus\");\n }, 500);\n }}\n media={media}\n />\n </FormField>\n <div>\n {\n !body?.message && current_company.plan !== \"Ambassador\" &&\n <div>\n <ChoiceButton\n showInputMessage={showInputMessage}\n handleAiButtonClick={handleAIButtonClick}\n handleManualButtonClick={handleManualButtonClick}\n />\n </div>\n }\n </div>\n {\n showInputMessage === true ?\n (\n <div>\n <OpenAiForm\n prompt={prompt}\n message=\"Entrez le sujet de votre article, donner des détails sur le contenu que vous souhaitez créer. (limite 30 par mois.)\"\n placeholder=\"Exemple: 'Rédigez un article sur les avantages de vivre à Paris 17ème.'\"\n setPrompt={setPrompt}\n loading={disabledInput}\n error={error}\n Submit={SubmitOpenAI}\n />\n </div>\n ) : (\n <div>\n <FormField\n title={intl.formatMessage({\n id: \"company_content_form.message\",\n defaultMessage: \"Message\",\n })}\n hint={intl.formatMessage({\n id: \"company_content_form.associated_text\",\n defaultMessage: \"Le texte associé à votre contenu.\",\n })}\n error={errors?.company_content?.body?.message as string | undefined}\n >\n <InsertableTextInput\n {...register(\"company_content.body.message\", {\n required: intl.formatMessage({\n id: \"company_content_form.message_cant_be_blank\",\n defaultMessage: \"Le message ne peut pas être vide\",\n }),\n })}\n onInsertionCallback={() =>\n isSubmitted ? trigger(\"company_content.body.message\") : null\n }\n rows={5}\n inputType=\"textarea\"\n emojis={true}\n setValue={setValue}\n insertionVariables={[\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\",\n \"$LANDING\",\n \"$NEWSLETTER\",\n \"$APILINK\",\n \"$PROMOCODE\",\n \"$SPONSORLINK\"\n ]}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.company_content?.body?.message\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n />\n </FormField>\n </div>\n )\n }\n <div className=\"relative flex items-start\">\n <div className=\"flex items-center h-6\">\n <input\n id=\"link\"\n aria-describedby=\"link-toggle\"\n name=\"link\"\n type=\"checkbox\"\n className=\"w-4 h-4 text-gray-600 border-gray-300 rounded focus:ring-gray-600\"\n checked={showIntegratedLink}\n onChange={handleIntegratedLink}\n disabled={[\"video\", \"images\"].includes(focus)}\n />\n </div>\n <div\n className={`w-full ml-3 text-sm leading-6 ${[\"video\", \"images\"].includes(focus) && \"opacity-50\"\n }`}\n >\n <label className=\"block mb-1 text-base font-semibold text-gray-700\">\n <FormattedMessage\n id=\"company_content_form.link\"\n defaultMessage=\"Lien intégré\"\n />\n </label>\n\n <div\n className={`w-full space-y-2 ${!showIntegratedLink && \"hidden\"}`}\n >\n <FormField\n disabled={[\"video\", \"images\"].includes(focus)}\n error={\n errors?.company_content?.body?.link_url?.message as\n | string\n | undefined\n }\n >\n <InsertableTextInput\n {...register(\"company_content.body.link_url\", {\n validate: (value) => {\n if (!value && showIntegratedLink) {\n return intl.formatMessage({\n id: \"company_content_form.link_cant_be_blank\",\n defaultMessage:\n \"L'url est obligatoire pour le lien intégré.\",\n });\n } else {\n return true;\n }\n },\n })}\n disabled={[\"video\", \"images\"].includes(focus)}\n emojis={false}\n setValue={setValue}\n placeholder={intl.formatMessage({\n id: \"company_content_form.link_url\",\n defaultMessage: \"Url du lien\",\n })}\n insertionVariables={[\"$SITE\", \"$CODE\", \" $TEL\", \"$SPONSORLINK\"]}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.company_content?.body?.link_url\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n />\n </FormField>\n <div className=\"flex flex-row justify-between space-x-2\">\n <div className=\"flex-1\">\n <TextArea\n placeholder={intl.formatMessage({\n id: \"company_content_form.short_description\",\n defaultMessage: \"Description du lien\",\n })}\n rows={1}\n {...register(\"company_content.body.link_description\")}\n error={errors?.company_content?.body?.link_description}\n />\n </div>\n <FormField>\n <Controller\n name=\"company_content.body.link_cta\"\n control={control}\n render={({ field }) => (\n <Select\n placeHolder={intl.formatMessage({\n id: \"company_content_form.action_btn\",\n defaultMessage: \"Bouton d'action\",\n })}\n onChange={(option) => field.onChange(option)}\n list={ctaOptions}\n value={field.value ? field.value : \"\"}\n />\n )}\n />\n </FormField>\n </div>\n </div>\n\n <p id=\"link-hint\" className=\"text-gray-500\">\n <FormattedMessage\n id=\"company_content_form.link_hint\"\n defaultMessage=\"Ajouter un lien décoré à votre contenu. Incompatible avec les vidéos ou images multiples.\"\n />\n </p>\n </div>\n </div>\n </FormLayout>\n\n <div className=\"flex justify-end mb-16\">\n <button\n disabled={submitted}\n className=\"relative btn-brand-primary\"\n type=\"submit\"\n >\n <Spinner\n className={`absolute ${!submitted && \"invisible\"\n } w-5 h-5 mb-1 ml-4 text-white animate-spin`}\n />\n <span className={` ${submitted && \"invisible\"}`}>\n <FormattedMessage\n id=\"company_content_form.save\"\n defaultMessage=\"Enregistrer\"\n />\n </span>\n </button>\n </div>\n </form>\n );\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport React from \"react\";\nimport { createRoot, Root } from \"react-dom/client\";\nimport { IntlProvider } from \"react-intl\";\nimport fr from \"../../../config/locales/js-lang/fr.json\";\nimport en from \"../../../config/locales/js-lang/en.json\"; // on mettra le compile plus tard\n\nimport CompanyContentForm from \"../components/CompanyContentForm\";\n\nexport default class extends Controller {\n root?: Root;\n get props() {\n return JSON.parse(this.data.get(\"props\"))\n }\n\n disconnect() {\n // unmountComponentAtNode(this.element);\n this.root?.unmount();\n }\n\n initialize() {}\n\n connect() {\n // Create a root.\n this.root = createRoot(this.element);\n const messages = {fr, en}\n // Initial render: Render an element to the root.\n this.root.render(\n <IntlProvider\n locale={this.props.locale}\n messages={this.props.locale ? messages[this.props.locale] : fr}\n >\n <CompanyContentForm {...this.props} />\n </IntlProvider>\n );\n }\n}\n","import { EyeDropperIcon } from \"@heroicons/react/24/solid\";\nimport React from \"react\";\nimport * as CSS from \"csstype\";\n\ntype Props = {\n onChange: (color: CSS.Property.BackgroundColor) => void;\n value: string | null;\n error?: string;\n name: string;\n};\n\nexport default function ColorPicker({ value, onChange, name }: Props) {\n const color = value || undefined;\n\n const rgbaToHex = (color: string): string => {\n if (/^rgb/.test(color)) {\n const rgba = color.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\n \n // rgb to hex\n // eslint-disable-next-line no-bitwise\n let hex = `#${((1 << 24) + (parseInt(rgba[0], 10) << 16) + (parseInt(rgba[1], 10) << 8) + parseInt(rgba[2], 10))\n .toString(16)\n .slice(1)}`;\n \n // added alpha param if exists\n if (rgba[4]) {\n const alpha = Math.round(0o1 * 255);\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\n hex += hexAlpha;\n }\n \n return hex;\n }\n return color;\n };\n\n return (\n <div className=\"mt-2 relative h-10 w-fit \">\n <div\n style={{ backgroundColor: color }}\n className=\"absolute top-0 left-0 m-2 w-5 h-5 rounded-sm\"\n ></div>\n <input\n value={color}\n type=\"color\"\n onChange={(e) => onChange(rgbaToHex(e.target.value))}\n className=\"sr-only peer \"\n placeholder=\"#ffffff\"\n id={`colorpicker-${name}`}\n />\n\n <div className=\"pl-10 pr-12 w-full h-full text-sm form-input flex flex-1 rounded-md border-gray-300 shadow-sm peer-focus:border-brand_focus peer-focus:ring peer- peer-focus:ring-opacity-20 \">\n {color || \" \"}\n </div>\n\n <label\n htmlFor={`colorpicker-${name}`}\n className=\"group/button h-full cursor-pointer absolute top-0 right-0 p-2 rounded-r-md border border-gray-300 bg-white py-1.5 px-2.5 text-sm text-gray-700 shadow-sm hover:bg-gray-50 peer-focus:border-brand_focus focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20 \"\n >\n <span className=\"mb-2\">\n <EyeDropperIcon className=\"group-focus/button:fill-brand_main inline h-4 w-4\" />\n </span>\n </label>\n </div>\n );\n}\n","import React, { InputHTMLAttributes, useEffect } from \"react\";\nimport FormField from \"./FormField\";\n\ninterface InputProps extends InputHTMLAttributes<HTMLInputElement> {\n title?: string;\n label?: string;\n hint?: string;\n error?: string;\n readonly?: boolean;\n suffix?: React.ReactNode;\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ title, label, hint, error, readonly, disabled, suffix, ...rest }, ref) => {\n return (\n <FormField title={title} hint={hint} disabled={disabled} error={error}>\n <input\n ref={ref}\n disabled={readonly}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${error\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n type=\"text\"\n {...rest}\n />\n {suffix &&\n <span className=\"absolute text-gray-500 top-0 right-0 inline-flex items-center px-3 text-sm bg-gray-200 border border-e-0 border-gray-300 rounded-r-md h-full\">\n {suffix}\n </span>}\n </FormField>\n );\n }\n);\n\nexport default Input;\n","import g, { PureComponent as E, createRef as _ } from \"react\";\nconst M = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n unit: \"px\"\n}, f = (s, t, e) => Math.min(Math.max(s, t), e), S = (...s) => s.filter((t) => t && typeof t == \"string\").join(\" \"), P = (s, t) => s === t || s.width === t.width && s.height === t.height && s.x === t.x && s.y === t.y && s.unit === t.unit;\nfunction H(s, t, e, o) {\n const i = y(s, e, o);\n return s.width && (i.height = i.width / t), s.height && (i.width = i.height * t), i.y + i.height > o && (i.height = o - i.y, i.width = i.height * t), i.x + i.width > e && (i.width = e - i.x, i.height = i.width / t), s.unit === \"%\" ? D(i, e, o) : i;\n}\nfunction N(s, t, e) {\n const o = y(s, t, e);\n return o.x = (t - o.width) / 2, o.y = (e - o.height) / 2, s.unit === \"%\" ? D(o, t, e) : o;\n}\nfunction D(s, t, e) {\n return s.unit === \"%\" ? { ...M, ...s, unit: \"%\" } : {\n unit: \"%\",\n x: s.x ? s.x / t * 100 : 0,\n y: s.y ? s.y / e * 100 : 0,\n width: s.width ? s.width / t * 100 : 0,\n height: s.height ? s.height / e * 100 : 0\n };\n}\nfunction y(s, t, e) {\n return s.unit ? s.unit === \"px\" ? { ...M, ...s, unit: \"px\" } : {\n unit: \"px\",\n x: s.x ? s.x * t / 100 : 0,\n y: s.y ? s.y * e / 100 : 0,\n width: s.width ? s.width * t / 100 : 0,\n height: s.height ? s.height * e / 100 : 0\n } : { ...M, ...s, unit: \"px\" };\n}\nfunction X(s, t, e, o, i, n = 0, a = 0, w = o, h = i) {\n const r = { ...s };\n let c = Math.min(n, o), d = Math.min(a, i), p = Math.min(w, o), l = Math.min(h, i);\n t && (t > 1 ? (c = a ? a * t : c, d = c / t, p = w * t) : (d = n ? n / t : d, c = d * t, l = h / t)), r.y < 0 && (r.height = Math.max(r.height + r.y, d), r.y = 0), r.x < 0 && (r.width = Math.max(r.width + r.x, c), r.x = 0);\n const u = o - (r.x + r.width);\n u < 0 && (r.x = Math.min(r.x, o - c), r.width += u);\n const C = i - (r.y + r.height);\n if (C < 0 && (r.y = Math.min(r.y, i - d), r.height += C), r.width < c && ((e === \"sw\" || e == \"nw\") && (r.x -= c - r.width), r.width = c), r.height < d && ((e === \"nw\" || e == \"ne\") && (r.y -= d - r.height), r.height = d), r.width > p && ((e === \"sw\" || e == \"nw\") && (r.x -= p - r.width), r.width = p), r.height > l && ((e === \"nw\" || e == \"ne\") && (r.y -= l - r.height), r.height = l), t) {\n const R = r.width / r.height;\n if (R < t) {\n const x = Math.max(r.width / t, d);\n (e === \"nw\" || e == \"ne\") && (r.y -= x - r.height), r.height = x;\n } else if (R > t) {\n const x = Math.max(r.height * t, c);\n (e === \"sw\" || e == \"nw\") && (r.x -= x - r.width), r.width = x;\n }\n }\n return r;\n}\nfunction K(s, t, e, o) {\n const i = { ...s };\n return t === \"ArrowLeft\" ? o === \"nw\" ? (i.x -= e, i.y -= e, i.width += e, i.height += e) : o === \"w\" ? (i.x -= e, i.width += e) : o === \"sw\" ? (i.x -= e, i.width += e, i.height += e) : o === \"ne\" ? (i.y += e, i.width -= e, i.height -= e) : o === \"e\" ? i.width -= e : o === \"se\" && (i.width -= e, i.height -= e) : t === \"ArrowRight\" && (o === \"nw\" ? (i.x += e, i.y += e, i.width -= e, i.height -= e) : o === \"w\" ? (i.x += e, i.width -= e) : o === \"sw\" ? (i.x += e, i.width -= e, i.height -= e) : o === \"ne\" ? (i.y -= e, i.width += e, i.height += e) : o === \"e\" ? i.width += e : o === \"se\" && (i.width += e, i.height += e)), t === \"ArrowUp\" ? o === \"nw\" ? (i.x -= e, i.y -= e, i.width += e, i.height += e) : o === \"n\" ? (i.y -= e, i.height += e) : o === \"ne\" ? (i.y -= e, i.width += e, i.height += e) : o === \"sw\" ? (i.x += e, i.width -= e, i.height -= e) : o === \"s\" ? i.height -= e : o === \"se\" && (i.width -= e, i.height -= e) : t === \"ArrowDown\" && (o === \"nw\" ? (i.x += e, i.y += e, i.width -= e, i.height -= e) : o === \"n\" ? (i.y += e, i.height -= e) : o === \"ne\" ? (i.y += e, i.width -= e, i.height -= e) : o === \"sw\" ? (i.x -= e, i.width += e, i.height += e) : o === \"s\" ? i.height += e : o === \"se\" && (i.width += e, i.height += e)), i;\n}\nconst b = { capture: !0, passive: !1 }, v = class m extends E {\n constructor() {\n super(...arguments), this.docMoveBound = !1, this.mouseDownOnCrop = !1, this.dragStarted = !1, this.evData = {\n startClientX: 0,\n startClientY: 0,\n startCropX: 0,\n startCropY: 0,\n clientX: 0,\n clientY: 0,\n isResize: !0\n }, this.componentRef = _(), this.mediaRef = _(), this.initChangeCalled = !1, this.state = {\n cropIsActive: !1,\n newCropIsBeingDrawn: !1\n }, this.onCropPointerDown = (t) => {\n const { crop: e, disabled: o } = this.props, i = this.getBox();\n if (!e)\n return;\n const n = y(e, i.width, i.height);\n if (o)\n return;\n t.cancelable && t.preventDefault(), this.bindDocMove(), this.componentRef.current.focus({ preventScroll: !0 });\n const a = t.target.dataset.ord, w = !!a;\n let h = t.clientX, r = t.clientY, c = n.x, d = n.y;\n if (a) {\n const p = t.clientX - i.x, l = t.clientY - i.y;\n let u = 0, C = 0;\n a === \"ne\" || a == \"e\" ? (u = p - (n.x + n.width), C = l - n.y, c = n.x, d = n.y + n.height) : a === \"se\" || a === \"s\" ? (u = p - (n.x + n.width), C = l - (n.y + n.height), c = n.x, d = n.y) : a === \"sw\" || a == \"w\" ? (u = p - n.x, C = l - (n.y + n.height), c = n.x + n.width, d = n.y) : (a === \"nw\" || a == \"n\") && (u = p - n.x, C = l - n.y, c = n.x + n.width, d = n.y + n.height), h = c + i.x + u, r = d + i.y + C;\n }\n this.evData = {\n startClientX: h,\n startClientY: r,\n startCropX: c,\n startCropY: d,\n clientX: t.clientX,\n clientY: t.clientY,\n isResize: w,\n ord: a\n }, this.mouseDownOnCrop = !0, this.setState({ cropIsActive: !0 });\n }, this.onComponentPointerDown = (t) => {\n const { crop: e, disabled: o, locked: i, keepSelection: n, onChange: a } = this.props, w = this.getBox();\n if (o || i || n && e)\n return;\n t.cancelable && t.preventDefault(), this.bindDocMove(), this.componentRef.current.focus({ preventScroll: !0 });\n const h = t.clientX - w.x, r = t.clientY - w.y, c = {\n unit: \"px\",\n x: h,\n y: r,\n width: 0,\n height: 0\n };\n this.evData = {\n startClientX: t.clientX,\n startClientY: t.clientY,\n startCropX: h,\n startCropY: r,\n clientX: t.clientX,\n clientY: t.clientY,\n isResize: !0\n }, this.mouseDownOnCrop = !0, a(y(c, w.width, w.height), D(c, w.width, w.height)), this.setState({ cropIsActive: !0, newCropIsBeingDrawn: !0 });\n }, this.onDocPointerMove = (t) => {\n const { crop: e, disabled: o, onChange: i, onDragStart: n } = this.props, a = this.getBox();\n if (o || !e || !this.mouseDownOnCrop)\n return;\n t.cancelable && t.preventDefault(), this.dragStarted || (this.dragStarted = !0, n && n(t));\n const { evData: w } = this;\n w.clientX = t.clientX, w.clientY = t.clientY;\n let h;\n w.isResize ? h = this.resizeCrop() : h = this.dragCrop(), P(e, h) || i(\n y(h, a.width, a.height),\n D(h, a.width, a.height)\n );\n }, this.onComponentKeyDown = (t) => {\n const { crop: e, disabled: o, onChange: i, onComplete: n } = this.props;\n if (o)\n return;\n const a = t.key;\n let w = !1;\n if (!e)\n return;\n const h = this.getBox(), r = this.makePixelCrop(h), d = (navigator.platform.match(\"Mac\") ? t.metaKey : t.ctrlKey) ? m.nudgeStepLarge : t.shiftKey ? m.nudgeStepMedium : m.nudgeStep;\n if (a === \"ArrowLeft\" ? (r.x -= d, w = !0) : a === \"ArrowRight\" ? (r.x += d, w = !0) : a === \"ArrowUp\" ? (r.y -= d, w = !0) : a === \"ArrowDown\" && (r.y += d, w = !0), w) {\n t.cancelable && t.preventDefault(), r.x = f(r.x, 0, h.width - r.width), r.y = f(r.y, 0, h.height - r.height);\n const p = y(r, h.width, h.height), l = D(r, h.width, h.height);\n i(p, l), n && n(p, l);\n }\n }, this.onHandlerKeyDown = (t, e) => {\n const {\n aspect: o = 0,\n crop: i,\n disabled: n,\n minWidth: a = 0,\n minHeight: w = 0,\n maxWidth: h,\n maxHeight: r,\n onChange: c,\n onComplete: d\n } = this.props, p = this.getBox();\n if (n || !i)\n return;\n if (t.key === \"ArrowUp\" || t.key === \"ArrowDown\" || t.key === \"ArrowLeft\" || t.key === \"ArrowRight\")\n t.stopPropagation(), t.preventDefault();\n else\n return;\n const u = (navigator.platform.match(\"Mac\") ? t.metaKey : t.ctrlKey) ? m.nudgeStepLarge : t.shiftKey ? m.nudgeStepMedium : m.nudgeStep, C = y(i, p.width, p.height), R = K(C, t.key, u, e), x = X(\n R,\n o,\n e,\n p.width,\n p.height,\n a,\n w,\n h,\n r\n );\n if (!P(i, x)) {\n const Y = D(x, p.width, p.height);\n c(x, Y), d && d(x, Y);\n }\n }, this.onDocPointerDone = (t) => {\n const { crop: e, disabled: o, onComplete: i, onDragEnd: n } = this.props, a = this.getBox();\n this.unbindDocMove(), !(o || !e) && this.mouseDownOnCrop && (this.mouseDownOnCrop = !1, this.dragStarted = !1, n && n(t), i && i(y(e, a.width, a.height), D(e, a.width, a.height)), this.setState({ cropIsActive: !1, newCropIsBeingDrawn: !1 }));\n }, this.onDragFocus = (t) => {\n var e;\n (e = this.componentRef.current) == null || e.scrollTo(0, 0);\n };\n }\n get document() {\n return document;\n }\n // We unfortunately get the bounding box every time as x+y changes\n // due to scrolling.\n getBox() {\n const t = this.mediaRef.current;\n if (!t)\n return { x: 0, y: 0, width: 0, height: 0 };\n const { x: e, y: o, width: i, height: n } = t.getBoundingClientRect();\n return { x: e, y: o, width: i, height: n };\n }\n componentDidUpdate(t) {\n const { crop: e, onComplete: o } = this.props;\n if (o && !t.crop && e) {\n const { width: i, height: n } = this.getBox();\n i && n && o(y(e, i, n), D(e, i, n));\n }\n }\n componentWillUnmount() {\n this.resizeObserver && this.resizeObserver.disconnect();\n }\n bindDocMove() {\n this.docMoveBound || (this.document.addEventListener(\"pointermove\", this.onDocPointerMove, b), this.document.addEventListener(\"pointerup\", this.onDocPointerDone, b), this.document.addEventListener(\"pointercancel\", this.onDocPointerDone, b), this.docMoveBound = !0);\n }\n unbindDocMove() {\n this.docMoveBound && (this.document.removeEventListener(\"pointermove\", this.onDocPointerMove, b), this.document.removeEventListener(\"pointerup\", this.onDocPointerDone, b), this.document.removeEventListener(\"pointercancel\", this.onDocPointerDone, b), this.docMoveBound = !1);\n }\n getCropStyle() {\n const { crop: t } = this.props;\n if (t)\n return {\n top: `${t.y}${t.unit}`,\n left: `${t.x}${t.unit}`,\n width: `${t.width}${t.unit}`,\n height: `${t.height}${t.unit}`\n };\n }\n dragCrop() {\n const { evData: t } = this, e = this.getBox(), o = this.makePixelCrop(e), i = t.clientX - t.startClientX, n = t.clientY - t.startClientY;\n return o.x = f(t.startCropX + i, 0, e.width - o.width), o.y = f(t.startCropY + n, 0, e.height - o.height), o;\n }\n getPointRegion(t, e, o, i) {\n const { evData: n } = this, a = n.clientX - t.x, w = n.clientY - t.y;\n let h;\n i && e ? h = e === \"nw\" || e === \"n\" || e === \"ne\" : h = w < n.startCropY;\n let r;\n return o && e ? r = e === \"nw\" || e === \"w\" || e === \"sw\" : r = a < n.startCropX, r ? h ? \"nw\" : \"sw\" : h ? \"ne\" : \"se\";\n }\n resolveMinDimensions(t, e, o = 0, i = 0) {\n let n = Math.min(o, t.width), a = Math.min(i, t.height);\n return !e || !n && !a ? [n, a] : e > 1 ? n ? [n, n / e] : [a * e, a] : a ? [a * e, a] : [n, n / e];\n }\n resizeCrop() {\n const { evData: t } = this, { aspect: e = 0, maxWidth: o, maxHeight: i } = this.props, n = this.getBox(), [a, w] = this.resolveMinDimensions(n, e, this.props.minWidth, this.props.minHeight);\n let h = this.makePixelCrop(n), r = this.getPointRegion(n, t.ord, a, w);\n const c = t.ord || r;\n let d = t.clientX - t.startClientX, p = t.clientY - t.startClientY;\n (a && c === \"nw\" || c === \"w\" || c === \"sw\") && (d = Math.min(d, -a)), (w && c === \"nw\" || c === \"n\" || c === \"ne\") && (p = Math.min(p, -w));\n const l = {\n unit: \"px\",\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n r === \"ne\" ? (l.x = t.startCropX, l.width = d, e ? (l.height = l.width / e, l.y = t.startCropY - l.height) : (l.height = Math.abs(p), l.y = t.startCropY - l.height)) : r === \"se\" ? (l.x = t.startCropX, l.y = t.startCropY, l.width = d, e ? l.height = l.width / e : l.height = p) : r === \"sw\" ? (l.x = t.startCropX + d, l.y = t.startCropY, l.width = Math.abs(d), e ? l.height = l.width / e : l.height = p) : r === \"nw\" && (l.x = t.startCropX + d, l.width = Math.abs(d), e ? (l.height = l.width / e, l.y = t.startCropY - l.height) : (l.height = Math.abs(p), l.y = t.startCropY + p));\n const u = X(\n l,\n e,\n r,\n n.width,\n n.height,\n a,\n w,\n o,\n i\n );\n return e || m.xyOrds.indexOf(c) > -1 ? h = u : m.xOrds.indexOf(c) > -1 ? (h.x = u.x, h.width = u.width) : m.yOrds.indexOf(c) > -1 && (h.y = u.y, h.height = u.height), h.x = f(h.x, 0, n.width - h.width), h.y = f(h.y, 0, n.height - h.height), h;\n }\n createCropSelection() {\n const {\n ariaLabels: t = m.defaultProps.ariaLabels,\n disabled: e,\n locked: o,\n renderSelectionAddon: i,\n ruleOfThirds: n,\n crop: a\n } = this.props, w = this.getCropStyle();\n if (a)\n return /* @__PURE__ */ g.createElement(\n \"div\",\n {\n style: w,\n className: \"ReactCrop__crop-selection\",\n onPointerDown: this.onCropPointerDown,\n \"aria-label\": t.cropArea,\n tabIndex: 0,\n onKeyDown: this.onComponentKeyDown,\n role: \"group\"\n },\n !e && !o && /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__drag-elements\", onFocus: this.onDragFocus }, /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__drag-bar ord-n\", \"data-ord\": \"n\" }), /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__drag-bar ord-e\", \"data-ord\": \"e\" }), /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__drag-bar ord-s\", \"data-ord\": \"s\" }), /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__drag-bar ord-w\", \"data-ord\": \"w\" }), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-nw\",\n \"data-ord\": \"nw\",\n tabIndex: 0,\n \"aria-label\": t.nwDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"nw\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-n\",\n \"data-ord\": \"n\",\n tabIndex: 0,\n \"aria-label\": t.nDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"n\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-ne\",\n \"data-ord\": \"ne\",\n tabIndex: 0,\n \"aria-label\": t.neDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"ne\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-e\",\n \"data-ord\": \"e\",\n tabIndex: 0,\n \"aria-label\": t.eDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"e\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-se\",\n \"data-ord\": \"se\",\n tabIndex: 0,\n \"aria-label\": t.seDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"se\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-s\",\n \"data-ord\": \"s\",\n tabIndex: 0,\n \"aria-label\": t.sDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"s\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-sw\",\n \"data-ord\": \"sw\",\n tabIndex: 0,\n \"aria-label\": t.swDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"sw\"),\n role: \"button\"\n }\n ), /* @__PURE__ */ g.createElement(\n \"div\",\n {\n className: \"ReactCrop__drag-handle ord-w\",\n \"data-ord\": \"w\",\n tabIndex: 0,\n \"aria-label\": t.wDragHandle,\n onKeyDown: (h) => this.onHandlerKeyDown(h, \"w\"),\n role: \"button\"\n }\n )),\n i && /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__selection-addon\", onMouseDown: (h) => h.stopPropagation() }, i(this.state)),\n n && /* @__PURE__ */ g.createElement(g.Fragment, null, /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__rule-of-thirds-hz\" }), /* @__PURE__ */ g.createElement(\"div\", { className: \"ReactCrop__rule-of-thirds-vt\" }))\n );\n }\n makePixelCrop(t) {\n const e = { ...M, ...this.props.crop || {} };\n return y(e, t.width, t.height);\n }\n render() {\n const { aspect: t, children: e, circularCrop: o, className: i, crop: n, disabled: a, locked: w, style: h, ruleOfThirds: r } = this.props, { cropIsActive: c, newCropIsBeingDrawn: d } = this.state, p = n ? this.createCropSelection() : null, l = S(\n \"ReactCrop\",\n i,\n c && \"ReactCrop--active\",\n a && \"ReactCrop--disabled\",\n w && \"ReactCrop--locked\",\n d && \"ReactCrop--new-crop\",\n n && t && \"ReactCrop--fixed-aspect\",\n n && o && \"ReactCrop--circular-crop\",\n n && r && \"ReactCrop--rule-of-thirds\",\n !this.dragStarted && n && !n.width && !n.height && \"ReactCrop--invisible-crop\",\n o && \"ReactCrop--no-animate\"\n );\n return /* @__PURE__ */ g.createElement(\"div\", { ref: this.componentRef, className: l, style: h }, /* @__PURE__ */ g.createElement(\"div\", { ref: this.mediaRef, className: \"ReactCrop__child-wrapper\", onPointerDown: this.onComponentPointerDown }, e), p);\n }\n};\nv.xOrds = [\"e\", \"w\"];\nv.yOrds = [\"n\", \"s\"];\nv.xyOrds = [\"nw\", \"ne\", \"se\", \"sw\"];\nv.nudgeStep = 1;\nv.nudgeStepMedium = 10;\nv.nudgeStepLarge = 100;\nv.defaultProps = {\n ariaLabels: {\n cropArea: \"Use the arrow keys to move the crop selection area\",\n nwDragHandle: \"Use the arrow keys to move the north west drag handle to change the crop selection area\",\n nDragHandle: \"Use the up and down arrow keys to move the north drag handle to change the crop selection area\",\n neDragHandle: \"Use the arrow keys to move the north east drag handle to change the crop selection area\",\n eDragHandle: \"Use the up and down arrow keys to move the east drag handle to change the crop selection area\",\n seDragHandle: \"Use the arrow keys to move the south east drag handle to change the crop selection area\",\n sDragHandle: \"Use the up and down arrow keys to move the south drag handle to change the crop selection area\",\n swDragHandle: \"Use the arrow keys to move the south west drag handle to change the crop selection area\",\n wDragHandle: \"Use the up and down arrow keys to move the west drag handle to change the crop selection area\"\n }\n};\nlet I = v;\nexport {\n I as Component,\n I as ReactCrop,\n P as areCropsEqual,\n N as centerCrop,\n f as clamp,\n S as cls,\n X as containCrop,\n D as convertToPercentCrop,\n y as convertToPixelCrop,\n I as default,\n M as defaultCrop,\n H as makeAspectCrop,\n K as nudgeCrop\n};\n","import React, { Fragment, SetStateAction, useEffect, useState } from 'react'\nimport { Dialog, DialogPanel, DialogTitle, DialogBackdrop, Transition, TransitionChild } from '@headlessui/react'\nimport { CheckIcon } from '@heroicons/react/24/outline'\n\nexport default function Modal(\n { open, setOpen, children }: {\n open: boolean;\n setOpen: React.Dispatch<SetStateAction<boolean>>;\n children: React.ReactNode\n }\n) {\n useEffect(() => {\n if (open) {\n setTimeout(() => {\n const rootNode = document.getElementById('test-root')\n if (rootNode) rootNode.inert = false\n }, 100)\n }\n }, [open])\n\n return (\n <Dialog\n open={open}\n onClose={() => setOpen(false)}\n transition\n className=\"fixed inset-0 flex w-screen items-center justify-center bg-black/30 p-4 transition duration-300 ease-out data-[closed]:opacity-0\"\n >\n <DialogPanel>\n {children}\n </DialogPanel>\n </Dialog>\n )\n}\n","import React, { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport { AdvancedImage } from \"@cloudinary/react\";\nimport { Cloudinary } from \"@cloudinary/url-gen\";\nimport { Dialog } from \"@headlessui/react\";\nimport { UserCircleIcon } from \"@heroicons/react/24/solid\";\nimport ReactCrop, {\n centerCrop,\n makeAspectCrop,\n type Crop,\n} from \"react-image-crop\";\n\nimport {\n CloudinaryFile,\n NewCloudinaryFile,\n} from \"../types/cloudinary_custom_types\";\nimport Modal from \"./Modal\";\nimport useCloudinaryUpload from \"./useCloudinaryUpload\";\nimport { PhotoIcon } from \"@heroicons/react/24/outline\";\nimport { crop as cropFn, scale } from \"@cloudinary/url-gen/actions/resize\";\nimport { Company } from \"../types\";\nimport { FormattedMessage } from \"react-intl\";\n\ntype Props = {\n profilePicture: Company[\"profile_picture\"];\n setProfilePicture: (pp: Company[\"profile_picture\"]) => void;\n};\nfunction ProfilePictureEditor({ profilePicture, setProfilePicture }: Props) {\n const [open, setOpen] = useState(false);\n const didMountRef = useRef(false); // pour garder le first render de côté ( reset du crop )\n const imgRef = useRef<HTMLImageElement>();\n const [workingCopy, setWorkingCopy] = useState<CloudinaryFile | null>(\n profilePicture?.serialized_file || null\n );\n\n // On initie avec un crop en px, on le convertira en % dès que l'image sera chargé\n // Mais ça nous sert à différentier le premier rendu des reset\n const [crop, setCrop] = useState<Crop | undefined>(\n profilePicture\n ? {\n unit: \"px\",\n width: profilePicture.crop_width,\n height: profilePicture.crop_height,\n x: profilePicture.crop_x,\n y: profilePicture.crop_y,\n }\n : undefined\n );\n\n const cld = new Cloudinary({\n cloud: {\n cloudName: \"dcmekntwa\",\n },\n });\n const addMedia = (file: NewCloudinaryFile) => setWorkingCopy(file);\n const { uploadFile, statusText } = useCloudinaryUpload({ cld, addMedia });\n\n const handleFiles = (e: ChangeEvent<HTMLInputElement>) => {\n const { files } = e.target;\n if (files) {\n for (var i = 0; i < files.length; i++) {\n uploadFile(files[i]); // call the function to upload the file\n }\n }\n };\n\n function onImageLoad(e: React.SyntheticEvent<HTMLImageElement, Event>) {\n if (crop && imgRef?.current && profilePicture) {\n // Première apparition : crop existe (en px)\n const { naturalWidth: width, naturalHeight: height } = imgRef.current;\n const percentCrop = pxToPercent({ crop: crop as Crop, height, width });\n setCrop(percentCrop);\n } else if (!crop) {\n // Réapparition : crop a été reset\n resetCropMask();\n }\n }\n\n const resetCropMask = () => {\n // On se fait un petit crop lambda pour la nouvelle image\n if (imgRef?.current) {\n const { naturalWidth: width, naturalHeight: height } = imgRef.current;\n const defaultCrop = centerCrop(\n makeAspectCrop({ unit: \"%\", width: 90 }, 1, width, height),\n width,\n height\n );\n setCrop(defaultCrop);\n }\n };\n\n useEffect(() => {\n if (didMountRef.current) {\n // On a déjà rendu une fois, quand on change d'image, le crop se reset\n setCrop(undefined);\n }\n // premier rendu : on le signale\n didMountRef.current = true;\n }, [workingCopy]);\n\n const validateCrop = () => {\n if (imgRef?.current && crop) {\n const { naturalWidth: width, naturalHeight: height } = imgRef.current;\n const pxCrop = percentToPx({ crop, height, width });\n if (pxCrop && workingCopy) {\n setProfilePicture({\n ...profilePicture,\n serialized_file: workingCopy,\n crop_width: Math.floor(pxCrop.width),\n crop_height: Math.floor(pxCrop.height),\n crop_x: Math.floor(pxCrop?.x),\n crop_y: Math.floor(pxCrop?.y),\n });\n }\n }\n };\n\n const percentToPx = ({\n crop,\n height,\n width,\n }: {\n crop: Crop;\n height: number;\n width: number;\n }): Crop => {\n if (crop.unit === \"%\") {\n return {\n unit: \"px\",\n width: Math.floor((crop.width / 100) * width),\n height: Math.floor((crop.height / 100) * height),\n x: Math.floor((crop.x / 100) * width),\n y: Math.floor((crop.y / 100) * height),\n };\n }\n return crop;\n };\n\n const pxToPercent = ({\n crop,\n height,\n width,\n }: {\n crop: Crop;\n height: number;\n width: number;\n }): Crop => {\n if (crop.unit === \"px\") {\n return {\n unit: \"%\",\n width: Math.floor((crop.width / width) * 100),\n height: Math.floor((crop.height / height) * 100),\n x: Math.floor((crop.x / width) * 100),\n y: Math.floor((crop.y / height) * 100),\n };\n }\n return crop;\n };\n\n return (\n <div className=\"col-span-full\">\n <div className=\"mt-2 flex items-center flex-col gap-x-3\">\n {profilePicture ? (\n <AdvancedImage\n className=\"object-cover h-40 w-40 rounded-full\"\n cldImg={cld\n .image(profilePicture?.serialized_file?.public_id)\n .resize(\n cropFn()\n .width(profilePicture?.crop_width)\n .height(profilePicture?.crop_height)\n .x(profilePicture?.crop_x)\n .y(profilePicture?.crop_y)\n ).resize(scale().width(160).height(160))}\n />\n ) : (\n <UserCircleIcon\n className=\"h-40 w-40 text-gray-300\"\n aria-hidden=\"true\"\n />\n )}\n\n <button\n type=\"button\"\n onClick={() => setOpen(true)}\n className=\"rounded-md mt-2 bg-white py-1.5 px-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-50\"\n >\n <FormattedMessage id=\"porfile_picture_editor.modify\" defaultMessage=\"Modifier\" />\n </button>\n <Modal open={open} setOpen={setOpen}>\n <Dialog.Panel className=\"space-y-5 relative transform overflow-y-auto rounded-lg bg-white px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full h-3/5 sm:max-w-3xl sm:p-6\">\n <Dialog.Title\n as=\"h3\"\n className=\"text-lg font-medium leading-6 text-gray-900\"\n >\n <FormattedMessage id=\"porfile_picture_editor.profile_picture\" defaultMessage=\"Photo de profil\" />\n </Dialog.Title>\n <div className=\"text-center overflow-scroll max-h-96 rounded-md bg-gray-300\">\n {workingCopy && (\n <ReactCrop\n aspect={1}\n circularCrop={true}\n crop={crop}\n onChange={(px, perc) => setCrop(perc)}\n keepSelection\n >\n <img\n src={cld.image(workingCopy.public_id).toURL()}\n onLoad={onImageLoad}\n ref={imgRef}\n />\n </ReactCrop>\n )}\n </div>\n {statusText && (\n <div className=\"mt-2 text-center\">\n <p className=\"text-sm text-gray-500\">{statusText}</p>\n </div>\n )}\n <div className=\"flex flex-row justify-between\">\n <label className=\"cursor-pointer inline-flex justify-center rounded-md bg-white px-3 py-2 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-50 sm:col-start-1 sm:mt-0\">\n <PhotoIcon className=\"h-6 w-6 mr-1\" />\n <FormattedMessage id=\"porfile_picture_editor.import_picture\" defaultMessage=\"Importer une image\" />\n <input\n type=\"file\"\n style={{ display: \"none\" }}\n onChange={handleFiles}\n multiple={true}\n />\n </label>\n <button\n type=\"button\"\n className=\"btn-brand-primary\"\n onClick={() => {\n validateCrop();\n setOpen(false);\n }}\n >\n <FormattedMessage id=\"porfile_picture_editor.validate\" defaultMessage=\"Valider\" />\n </button>\n </div>\n </Dialog.Panel>\n </Modal>\n </div>\n </div>\n );\n}\n\nexport default ProfilePictureEditor;\n","import React, { useEffect, useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { Company } from \"../types\";\nimport ColorPicker from \"./ColorPicker\";\nimport FormField from \"./FormField\";\nimport FormLayout from \"./FormLayout\";\nimport Input from \"./Input\";\nimport ProfilePictureEditor from \"./ProfilePictureEditor\";\nimport { getCSRFToken } from \"./utils/various\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\nimport Select from \"./Select\";\n\nfunction CompanyForm({ company: { profile_picture, ...company } }: { company: Company }) {\n const {\n register,\n handleSubmit,\n control,\n formState: { errors, isSubmitted },\n } = useForm({\n defaultValues: {\n company: {\n ...company,\n password: null,\n password_confirmation: null,\n sendinblue_sender_email: company.sendinblue_sender_email?.split(\"@\")[0],\n },\n },\n }); \n\n const defaultRequiredMessage = \"Ce champ ne peut être vide.\";\n\n const onSubmit = async (data: any) => {\n if (profilePicture) {\n // On renvoie profilePicture sans la picture (mais avec id si on en a reçu une)\n const { serialized_file, ...rest } = profilePicture;\n data.company.profile_picture_attributes = rest;\n if (\"signature\" in serialized_file) {\n // Si nouvelle image, on renvoie la nouvelle url sous la forme identifier#signature\n data.company.profile_picture_attributes.picture =\n serialized_file.identifier + \"#\" + serialized_file.signature;\n }\n }\n data.company.sendinblue_sender_email += \"@apinews.io\";\n\n const authenticity_token = getCSRFToken();\n const response = await fetch(`/companies/${company.id}`, {\n method: \"PATCH\",\n body: JSON.stringify(data),\n headers: {\n Accept: \"application/json\",\n \"X-CSRF-Token\": authenticity_token,\n \"Content-Type\": \"application/json\",\n },\n }); \n if (response.ok) {\n window.location.reload()\n }\n };\n\n const genderOptions = [\n { label: \"Je suis une entreprise\", value: \"Je suis une entreprise\" },\n { label: \"Je suis une indépendante\", value: \"Je suis une indépendante\" },\n { label: \"Je suis un indépendant\", value: \"Je suis un indépendant\" },\n { label: \"Je suis un professionnel de santé\", value: \"Je suis un professionnel de santé\" },\n { label: \"Je suis une professionnelle de santé\", value: \"Je suis une professionnelle de santé\" },\n { label: \"Je suis un cabinet d'avocat\", value: \"Je suis un cabinet d'avocat\" },\n ];\n\n\n const [profilePicture, setProfilePicture] = useState(profile_picture);\n\n const intl = useIntl()\n\n return (\n <form onSubmit={handleSubmit(onSubmit)}>\n <FormLayout\n title={intl.formatMessage({ id: \"company_form.my_company\", defaultMessage: \"Mon entreprise\" })}\n leftSideElements={\n <>\n <ProfilePictureEditor\n profilePicture={profilePicture}\n setProfilePicture={setProfilePicture}\n />\n </>\n }\n description={intl.formatMessage({ id: \"company_form.edit\", defaultMessage: \"Éditez les informations vous concernant\" })}\n >\n\n\n <Input\n title={intl.formatMessage({ id: \"company_form.company\", defaultMessage: \"Enseigne\" })}\n hint={intl.formatMessage({ id: \"company_form.company_name\", defaultMessage: \"Le nom à travers lequel vous apparaîtrez dans les messages envoyés\" })}\n\n {...register(\"company.displayed_name\", { required: defaultRequiredMessage })}\n error={errors?.company?.company?.message}\n />\n\n <Input\n title={intl.formatMessage({ id: \"company_form.company\", defaultMessage: \"Société\" })}\n hint={intl.formatMessage({ id: \"company_form.company_name\", defaultMessage: \"Le nom de votre société, ou marque.\" })}\n\n {...register(\"company.company\", { required: defaultRequiredMessage })}\n error={errors?.company?.company?.message}\n />\n\n <Input\n title={intl.formatMessage({ id: \"company_form.email\", defaultMessage: \"Email\" })}\n {...register(\"company.email\", { required: defaultRequiredMessage })}\n error={errors?.company?.email?.message}\n />\n <Input\n title={intl.formatMessage({ id: \"company_form.phone\", defaultMessage: \"Téléphone\" })}\n {...register(\"company.phone\", { required: defaultRequiredMessage })}\n error={errors?.company?.phone?.message}\n />\n <Input\n title={intl.formatMessage({ id: \"company_form.sendinblue_sender_name\", defaultMessage: \"Nom d'expéditeur\" })}\n {...register(\"company.sendinblue_sender_name\", { required: defaultRequiredMessage })}\n hint={intl.formatMessage({ id: \"company_form.sendinblue_sender_name\", defaultMessage: \"Le nom apparaissant sur les newsletters que vous envoyez\" })}\n error={errors?.company?.sendinblue_sender_name?.message}\n />\n <Input\n title={intl.formatMessage({ id: \"company_form.website\", defaultMessage: \"Site web\" })}\n {...register(\"company.website\")}\n value={company.website}\n disabled\n hint={intl.formatMessage({ id: \"company_form.website_hint\", defaultMessage: \"Votre site web (non modifiable)\" })} \n />\n <Input\n title={intl.formatMessage({ id: \"company_form.sendinblue_sender_email\", defaultMessage: \"Adresse d'expéditeur\" })}\n hint={intl.formatMessage({ id: \"company_form.sendinblue_sender_name\", defaultMessage: \"L'email apparaissant sur les newsletters que vous envoyez\" })}\n suffix={\"@apinews.io\"}\n {...register(\"company.sendinblue_sender_email\", {\n required: defaultRequiredMessage,\n pattern: {\n value: /^\\S+$/, \n message: \"Aucun espace n'est autorisé.\"\n }\n })}\n error={errors?.company?.sendinblue_sender_email?.message}\n />\n <FormField\n title={intl.formatMessage({ id: \"company_form.gender\", defaultMessage: \"Genre\" })}\n hint={intl.formatMessage({ id: \"company_form.gender_hint\", defaultMessage: \"Personnalisez votre message au féminin ou masculin\" })}\n >\n <Controller\n name=\"company.gender\"\n control={control}\n render={({ field }) => (\n <Select\n onChange={(option) => field.onChange(option)}\n list={genderOptions}\n value={field.value}\n />\n )}\n />\n </FormField>\n <FormField\n title={intl.formatMessage({ id: \"company_form.color\", defaultMessage: \"Couleur\" })}\n hint={intl.formatMessage({ id: \"company_form.color_hint\", defaultMessage: \"Utilisée pour décorer vos contenus\" })}\n >\n <Controller\n name=\"company.primary_color\"\n control={control}\n render={({ field: { onChange, value, name } }) => (\n <ColorPicker\n name={name}\n onChange={onChange}\n value={value}\n error={errors?.company?.primary_color?.message}\n />\n )}\n />\n </FormField>\n <Input\n title={intl.formatMessage({ id: \"company_form.hashtags\", defaultMessage: \"Hashtags\" })}\n hint={intl.formatMessage({ id: \"company_form.hashtags_hint\", defaultMessage: \"La liste de vos hashtags commençant par '#'\" })}\n {...register(\"company.hashtag\", {\n required: false,\n pattern: /^[#]\\w+/,\n })}\n error={errors?.company?.hashtag?.message}\n />\n <div className=\"flex justify-end\">\n <button\n className=\"btn-brand-primary\"\n type=\"submit\"\n >\n <FormattedMessage id=\"company_form.save\" defaultMessage=\"Enregistrer\" />\n </button>\n </div>\n </FormLayout>\n </form>\n );\n}\n\nexport default CompanyForm;\n","import { Controller } from \"@hotwired/stimulus\";\nimport React from \"react\";\nimport * as ReactDOMClient from \"react-dom/client\";\nimport CompanyForm from \"../components/CompanyForm\";\nimport SecurityForm from \"../components/SecurityForm\";\nimport { IntlProvider } from \"react-intl\";\nimport fr from \"../../../config/locales/js-lang/fr.json\";\nimport en from \"../../../config/locales/js-lang/en.json\";\n\nexport default class extends Controller {\n get props() {\n console.log(this.data.get(\"props\"));\n return JSON.parse(this.data.get(\"props\"));\n }\n\n disconnect() {\n ReactDOM.unmountComponentAtNode(this.element);\n }\n\n initialize() {}\n\n connect() {\n // Create a root.\n // Initial render: Render an element to the root.\n const messages = {fr, en}\n console.log(\"locale\",this.props.locale)\n window.onload = () => {\n console.log(document.body)\n const root = ReactDOMClient.createRoot(this.element);\n\n root.render(<>\n <IntlProvider\n locale={this.props.locale}\n messages={this.props.locale ? messages[this.props.locale] : fr}\n >\n <CompanyForm {...this.props} />\n </IntlProvider>\n </>);\n };\n\n }\n}\n","import React, { ForwardedRef, MutableRefObject, useRef } from \"react\";\nimport {\n CameraIcon,\n PlayIcon,\n LinkIcon,\n RectangleGroupIcon,\n} from \"@heroicons/react/24/solid\";\nimport {\n FieldValues,\n UseFormRegister,\n UseFormWatch,\n} from \"react-hook-form/dist/types\";\nimport { FormattedMessage, useIntl } from \"react-intl\";\n\ntype Props = {\n register: UseFormRegister<any>;\n selected: string;\n onSelectCallback?: (e:any) => void;\n inputName: string;\n videoPresent?: boolean; //validationProps\n imagesPresent?: boolean; //validationProps\n};\n\nconst FocusSelector = ({\n inputName,\n register,\n selected,\n onSelectCallback,\n videoPresent,\n imagesPresent,\n}: Props) => {\n const intl = useIntl()\n const options = {\n image: {\n // use intl => hook et non component\n label: intl.formatMessage({id:\"focus_selector.image\", defaultMessage:\"Image\"}),\n IconComponent: CameraIcon,\n },\n video: { label: intl.formatMessage({id:\"focus_selector.video\", defaultMessage:\"Video\"}), IconComponent: PlayIcon },\n link: { label: intl.formatMessage({id:\"focus_selector.lien\", defaultMessage:\"Lien\"}), IconComponent: LinkIcon },\n images: { label: intl.formatMessage({id:\"focus_selector.multi_images\", defaultMessage:\"Multi-images\"}), IconComponent: RectangleGroupIcon },\n };\n\n return (\n <div className=\"space-x-4 flex flex-wrap\">\n {Object.entries(options).map((kv) => {\n const [value, { IconComponent, label }] = kv;\n const { onChange, ...registredProps } = register(inputName, {\n required: \"Vous devez sélectionner un format.\",\n validate: (value: string | undefined) => {\n if (value === \"video\" && !videoPresent) {\n return \"En selectionnant l'expérience vidéo, vous devez uploader une vidéo.\";\n } else if (value !== \"video\" && videoPresent) {\n return \"Vous ne pouvez pas poster de vidéo en dehors de l'expérience vidéo\";\n } else if (value === \"images\" && !imagesPresent) {\n return \"Vous devez ajouter des images pour l'expérience multi-images\";\n }\n return true;\n },\n });\n const handleChange = (e: any) => {\n onChange(e);\n onSelectCallback && onSelectCallback(e);\n };\n return (\n <label key={value}>\n <input\n className=\"hidden\"\n type=\"radio\"\n value={value}\n onChange={handleChange}\n {...registredProps}\n />\n <div className=\"my-2 flex items-center relative\">\n <div\n // onClick={() => setFocus(value)}\n className={`relative border border-gray-300 rounded-lg shadow-sm p-4 flex cursor-pointer focus:outline-none ${\n selected == value\n ? \"text-brand_main border-brand_lighter ring ring-brand_lighter ring-opacity-50\"\n : \"text-gray-500\"\n }`}\n >\n <IconComponent className=\"h-6 w-6 mr-1\" />\n {label}\n </div>\n </div>\n </label>\n );\n })}\n </div>\n );\n};\n\nexport default FocusSelector;\n","import React, { useState, useEffect } from \"react\";\nimport { Listbox, Popover } from \"@headlessui/react\";\nimport { ChevronDownIcon, CheckIcon } from \"@heroicons/react/20/solid\";\nimport { TagGroup } from \"../types\";\nimport { UseFormRegister } from \"react-hook-form/dist/types\";\n\n\ntype Props = {\n tagGroups: TagGroup[];\n selected: number[];\n // register: UseFormRegister<any>;\n onChange: (option: number[]) => void;\n}\n\nfunction TagSelector({tagGroups, selected, onChange}:Props) {\n \n return (\n <>\n {tagGroups.map((tagGroup) => (\n <Listbox value={selected} onChange={onChange} multiple>\n <div className=\" relative inline-block text-left px-2 border-r border-gray-200\">\n <Listbox.Button\n type=\"button\"\n // onClick={() => setActiveGroup(tagGroup.id)}\n className=\"group inline-flex items-center justify-center text-sm font-medium text-gray-700 hover:text-gray-900\"\n >\n {tagGroup.label}\n <ChevronDownIcon className=\"h-5 w-5 ml-1 text-gray-400 \" />\n </Listbox.Button>\n {/* <Popover.Panel class=\"absolute left-0 z-10 mt-2 origin-top-left rounded-md bg-white p-4 shadow-2xl ring-1 ring-black ring-opacity-5 focus:outline-none overflow-scroll max-h-64\"> */}\n\n <Listbox.Options className=\"py-4 absolute w-48 left-0 z-10 mt-2 origin-top-left rounded-md bg-white shadow-2xl ring-1 ring-black ring-opacity-5 focus:outline-none overflow-scroll max-h-64 \">\n {tagGroup.tag_sub_groups.map((tsg) => (\n <>\n <div className=\"flex flex-col items-center\">\n <span className=\"text-xs text-gray-500\">{tsg.label.toUpperCase()}</span>\n <div className=\" w-36 my-2 border-gray-400 border-b\"></div>\n </div>\n {tsg.tags.map((tag) => (\n <Listbox.Option\n key={tag.id}\n value={tag.id}\n className={({ active }) =>\n `relative cursor-default select-none py-1 pl-10 pr-4 ${\n active ? 'text-brand_main' : 'text-gray-900'\n }`\n }\n >\n {({ selected }) => (\n <>\n <span\n className={`text-sm block truncate ${\n selected ? 'font-medium' : 'font-normal'\n }`}\n >\n {tag.label}\n </span>\n {selected ? (\n <span className=\"absolute inset-y-0 left-0 flex items-center pl-3 text-brand_main\">\n <CheckIcon className=\"h-5 w-5\" aria-hidden=\"true\" />\n </span>\n ) : null}\n </>\n )}\n </Listbox.Option>\n ))}\n </>\n ))}\n </Listbox.Options>\n </div>\n\n </Listbox>\n ))}\n </>\n\n );\n}\n\nexport default TagSelector;\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 * 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","export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n","export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n}\n","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n","var __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 __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"<span class='flatpickr-day'>\" + self.config.getWeek(date) + \"</span>\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n <span class='flatpickr-weekday'>\\n \" + weekdays.join(\"</span><span class='flatpickr-weekday'>\") + \"\\n </span>\\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _flatpickr = _interopRequireDefault(require(\"flatpickr\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\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\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar hooks = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate'];\n\nvar hookPropType = _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].func)]);\n\nvar callbacks = ['onCreate', 'onDestroy'];\nvar callbackPropTypes = _propTypes[\"default\"].func;\n\nvar DateTimePicker = /*#__PURE__*/function (_Component) {\n _inherits(DateTimePicker, _Component);\n\n var _super = _createSuper(DateTimePicker);\n\n function DateTimePicker() {\n var _this;\n\n _classCallCheck(this, DateTimePicker);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"createFlatpickrInstance\", function () {\n var options = _objectSpread({\n onClose: function onClose() {\n _this.node.blur && _this.node.blur();\n }\n }, _this.props.options); // Add prop hooks to options\n\n\n options = mergeHooks(options, _this.props);\n _this.flatpickr = (0, _flatpickr[\"default\"])(_this.node, options);\n\n if (_this.props.hasOwnProperty('value')) {\n _this.flatpickr.setDate(_this.props.value, false);\n }\n\n var onCreate = _this.props.onCreate;\n if (onCreate) onCreate(_this.flatpickr);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"destroyFlatpickrInstance\", function () {\n var onDestroy = _this.props.onDestroy;\n if (onDestroy) onDestroy(_this.flatpickr);\n\n _this.flatpickr.destroy();\n\n _this.flatpickr = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleNodeChange\", function (node) {\n _this.node = node;\n\n if (_this.flatpickr) {\n _this.destroyFlatpickrInstance();\n\n _this.createFlatpickrInstance();\n }\n });\n\n return _this;\n }\n\n _createClass(DateTimePicker, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var options = this.props.options;\n var prevOptions = prevProps.options;\n options = mergeHooks(options, this.props); // Add prev ones too so we can compare against them later\n\n prevOptions = mergeHooks(prevOptions, prevProps);\n var optionsKeys = Object.getOwnPropertyNames(options);\n\n for (var index = optionsKeys.length - 1; index >= 0; index--) {\n var key = optionsKeys[index];\n var value = options[key];\n\n if (value !== prevOptions[key]) {\n // Hook handlers must be set as an array\n if (hooks.indexOf(key) !== -1 && !Array.isArray(value)) {\n value = [value];\n }\n\n this.flatpickr.set(key, value);\n }\n }\n\n if (this.props.hasOwnProperty('value') && !(this.props.value && Array.isArray(this.props.value) && prevProps.value && Array.isArray(prevProps.value) && this.props.value.every(function (v, i) {\n prevProps[i] === v;\n })) && this.props.value !== prevProps.value) {\n this.flatpickr.setDate(this.props.value, false);\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.createFlatpickrInstance();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyFlatpickrInstance();\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props,\n options = _this$props.options,\n defaultValue = _this$props.defaultValue,\n value = _this$props.value,\n children = _this$props.children,\n render = _this$props.render,\n props = _objectWithoutProperties(_this$props, [\"options\", \"defaultValue\", \"value\", \"children\", \"render\"]); // Don't pass hooks and callbacks to dom node\n\n\n hooks.forEach(function (hook) {\n delete props[hook];\n });\n callbacks.forEach(function (callback) {\n delete props[callback];\n });\n if (render) return render(_objectSpread(_objectSpread({}, props), {}, {\n defaultValue: defaultValue,\n value: value\n }), this.handleNodeChange);\n return options.wrap ? /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({}, props, {\n ref: this.handleNodeChange\n }), children) : /*#__PURE__*/_react[\"default\"].createElement(\"input\", _extends({}, props, {\n defaultValue: defaultValue,\n ref: this.handleNodeChange\n }));\n }\n }]);\n\n return DateTimePicker;\n}(_react.Component);\n\n_defineProperty(DateTimePicker, \"propTypes\", {\n defaultValue: _propTypes[\"default\"].string,\n options: _propTypes[\"default\"].object,\n onChange: hookPropType,\n onOpen: hookPropType,\n onClose: hookPropType,\n onMonthChange: hookPropType,\n onYearChange: hookPropType,\n onReady: hookPropType,\n onValueUpdate: hookPropType,\n onDayCreate: hookPropType,\n onCreate: callbackPropTypes,\n onDestroy: callbackPropTypes,\n value: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].array, _propTypes[\"default\"].object, _propTypes[\"default\"].number]),\n children: _propTypes[\"default\"].node,\n className: _propTypes[\"default\"].string,\n render: _propTypes[\"default\"].func\n});\n\n_defineProperty(DateTimePicker, \"defaultProps\", {\n options: {}\n});\n\nfunction mergeHooks(inputOptions, props) {\n var options = _objectSpread({}, inputOptions);\n\n hooks.forEach(function (hook) {\n if (props.hasOwnProperty(hook)) {\n var _options$hook;\n\n if (options[hook] && !Array.isArray(options[hook])) {\n options[hook] = [options[hook]];\n } else if (!options[hook]) {\n options[hook] = [];\n }\n\n var propHook = Array.isArray(props[hook]) ? props[hook] : [props[hook]];\n\n (_options$hook = options[hook]).push.apply(_options$hook, _toConsumableArray(propHook));\n }\n });\n return options;\n}\n\nvar _default = DateTimePicker;\nexports[\"default\"] = _default;","import React, { useState } from \"react\";\nimport Flatpickr from \"react-flatpickr\";\n\ntype Props = {\n onChange: (d:Date) => void;\n disabled?: boolean;\n defaultValue: string | undefined;\n error?: string;\n options?: {[key:string]: any};\n}\nconst CustomPicker = ({ onChange, disabled, defaultValue, error, options, ...props }:Props) => {\n\n return (\n <>\n <Flatpickr\n defaultValue={defaultValue}\n onChange={(dateArray: Date[]) => onChange(dateArray[0])}\n disabled={disabled}\n className={`cursor-pointer form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${\n error\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n options={{\n enableTime: true,\n time_24hr: true,\n dateFormat: \"d/m/Y H:i:S\",\n ...options\n }}\n {...props}\n />\n </>\n );\n};\n export default CustomPicker","import React, { useState } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport ContentMediaUploader from \"./ContentMediaUploader\";\nimport FacebookPreview from \"./FacebookPreview\";\nimport FocusSelector from \"./FocusSelector\";\nimport InsertableTextInput from \"./InsertableTextInput\";\nimport Select from \"./Select\";\nimport TagSelector from \"./TagSelector\";\nimport { getCSRFToken, formatMediaHolders } from \"./utils/various\";\nimport { BoltIcon } from \"@heroicons/react/24/solid\";\nimport { Content, isPersisted, TagGroup, MediaHolder } from \"../types\";\nimport FormField from \"./FormField\";\nimport UrlScraper from \"./UrlScraper\";\nimport FormLayout from \"./FormLayout\";\nimport DatePicker from \"./DatePicker\";\nimport Spinner from \"./Spinner\";\nimport OpenAiForm from \"./OpenAiForm\";\nimport ChoiceButton from \"./ChoiceButton\";\nimport { useIntl, FormattedMessage } from \"react-intl\";\nimport { gql, GraphQLClient } from \"graphql-request\";\nimport { useOpenAI } from \"../hook/useOpenAI\";\nimport { useUserChoice } from \"../hook/useUserChoice\";\n\ntype Props = {\n content: Content;\n tag_groups: TagGroup[];\n example_account: {\n displayed_name: string;\n picture_url: string;\n company: {\n email: string;\n company: string;\n phone: string;\n hashtag: string;\n website: string;\n displayed_name: string;\n client_code: string;\n };\n };\n content_dispenser?: { id: number };\n readonly?: boolean;\n};\nexport default function ContentForm(props: Props) {\n\n const { body = { body_media: [] }, ...content } = props.content;\n const {\n register,\n handleSubmit,\n getValues,\n watch,\n control,\n formState: { errors, isSubmitted },\n setValue,\n trigger,\n } = useForm({\n defaultValues: {\n content: {\n ...content,\n description: props.content.body?.link_description,\n },\n },\n });\n\n const intl = useIntl()\n\n const minDate = new Date();\n const [submitted, setSubmitted] = useState(false)\n const [prompt, setPrompt] = useState<string>(\"\")\n const [loading, setLoading] = useState(false)\n const [showInputMessage, setShowInputMessage] = useState<boolean | null>(false);\n const [media, setMedia] = useState(\n body.body_media\n .filter((m: MediaHolder) => m.content_medium.serialized_file)\n .sort(\n (a: MediaHolder, b: MediaHolder) =>\n (a.position || 0) - (b.position || 0)\n // Si undefined on met la valeur max (media.length)\n ) || []\n );\n\n const ctaOptions = [\n { label: \"Commander\", value: \"order_now\" },\n { label: \"Acheter\", value: \"shop_now\" },\n { label: \"En savoir plus\", value: \"learn_more\" },\n { label: \"S'inscrire\", value: \"sign_up\" },\n { label: \"Appeler\", value: \"call_now\" },\n { label: \"Nous contacter\", value: \"contact_us\" },\n ];\n\n const graphQLClient = new GraphQLClient('/graphql/', { headers: { \"X-CSRF-Token\": getCSRFToken() } })\n\n const onSubmit = async (data: any) => {\n setSubmitted(true)\n\n const bodyMedia = formatMediaHolders(media)\n\n const mutation = gql`\n mutation ($content: Content${content.id ? 'Update' : ''}Input!) {\n ${content.id ? 'update' : 'create'}Content(input: {content:$content}) {\n content {\n body {\n id\n message\n contentMedia {\n medium\n }\n }\n }\n }\n }`\n\n const variables = {\n content: {\n id: data.content.id || undefined,\n ...(props.content_dispenser && !props.content.id ? { author: { id: props.content_dispenser.id, type: \"ContentDispenser\" } } : {}),\n ...(data.content.tag_ids ? { tagIds: data.content.tag_ids } : {}),\n reconstructedUrl: data.content.reconstructed_url,\n focus: data.content.focus,\n expiresAt: data.content.expires_at,\n title: data.content.title,\n body: {\n\n linkCta: data.content.cta,\n linkUrl: data.content.reconstructed_url,\n linkDescription: data.content.description,\n //...(\"id\" in body && { id: body.id }),\n message: data.content.teaser,\n bodyMediaAttributes: bodyMedia,\n }\n }\n }\n const response: any = await graphQLClient.request(mutation, variables)\n if (!response.errors) {\n window.Turbo?.visit(\n props.content_dispenser\n ? `/${intl.locale}/content_dispensers/${props.content_dispenser.id}/contents`\n : `/${intl.locale}/posts?display=calendar`\n );\n }\n setSubmitted(false)\n };\n\n const focus = watch(\"content.focus\");\n const teaser = watch(\"content.teaser\");\n const description = watch(\"content.description\");\n const reconstructed_url = watch(\"content.reconstructed_url\");\n const previewCta = ctaOptions.find(\n (cta) => cta.value === watch(\"content.cta\")\n )?.label;\n\n const videoPresent =\n media.filter((m) => m.content_medium.serialized_file.resource_type === \"video\").length > 0;\n const imagesPresent =\n media.filter((m) => m.content_medium.serialized_file.resource_type === \"image\").length > 0;\n\n const generateFocusHint = () => {\n switch (focus) {\n case \"images\":\n return \"Limites au nombre d'images -> Facebook/Instagram: 10, Linkedin: 9, Pinterest: 5, Twitter: 4, Google: 1.\"\n case \"image\":\n return \"âš ï¸ Image obligatoire pour publier sur Instagram et Pinterest\"\n default:\n return \"\";\n }\n }\n\n const { SubmitOpenAI, disabledInput, error } = useOpenAI(\n prompt,\n loading,\n setLoading,\n media.map((m) => m.content_medium),\n setValue,\n setShowInputMessage,\n getValues,\n \"content.teaser\",\n `/body/openai_call`\n );\n\n const { handleAIButtonClick, handleManualButtonClick } = useUserChoice(setShowInputMessage);\n\n return (\n <form onSubmit={handleSubmit(onSubmit)}>\n <FormLayout\n title={intl.formatMessage({ id: \"content_form.publication\", defaultMessage: \"Publication\" })}\n description={intl.formatMessage({ id: \"content_form.edit_content\", defaultMessage: \"Éditez la forme et le contenu de votre nouvelle campagne\" })}\n leftSideElements={\n <>\n <FacebookPreview\n focus={focus}\n teaser={teaser}\n cta={previewCta}\n description={description}\n reconstructed_url={reconstructed_url}\n exampleAccount={props.example_account}\n media={media.filter((m) => !(isPersisted(m) && m.destroy)).map(m => m.content_medium)}\n />\n {!content.id && (\n <div>\n <UrlScraper\n creationUrl={`/${props.content_dispenser\n ? `content_dispensers/${props.content_dispenser.id}/`\n : \"\"\n }contents`}\n redirectionCallback={(id) =>\n `/${props.content_dispenser\n ? `content_dispensers/${props.content_dispenser.id}/`\n : \"\"\n }contents/${id}/edit`\n }\n />\n </div>\n )}\n\n <div className=\"hidden lg:block\">\n <h3 className=\"flex items-baseline text-sm font-semibold leading-6 text-gray-700\">\n <BoltIcon className=\"w-3 h-3 mr-1\" />\n <FormattedMessage id=\"content_form.tips\" defaultMessage=\"Astuce\" />\n </h3>\n <p className=\"text-sm text-gray-500\">\n Utilisez les mots clés{\" \"}\n {[\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\"\n ].map((v) => (\n <>\n <span className=\"font-medium text-gray-700\">{v}</span>\n {\", \"}\n </>\n ))}\n <FormattedMessage id=\"content_form.custom_your_publications\" defaultMessage=\"pour personnaliser vos publications avec les valeurs correspondantes chez chaque affilié.\" />\n </p>\n </div>\n </>\n }\n >\n <FormField\n title={intl.formatMessage({ id: \"content_form.format\", defaultMessage: \"Format\" })}\n hint={intl.formatMessage({ id: \"content_form.hint\", defaultMessage: \"Décide de l'élément sur lequel l'accent sera mis. Selon les plateformes, cela affectera la présentation de votre campagne. Seul le format vidéo accepte les vidéos.\" })}\n >\n <FocusSelector\n inputName=\"content.focus\"\n register={register}\n selected={focus}\n videoPresent={videoPresent}\n imagesPresent={imagesPresent}\n onSelectCallback={async (e) => {\n if (e.target.value !== \"link\") {\n setValue(\"content.cta\", null)\n }\n isSubmitted ? await trigger(\"content.reconstructed_url\") : null\n }\n }\n />\n </FormField>\n\n <FormField\n title={intl.formatMessage({ id: \"content_form.title\", defaultMessage: \"Titre\" })}\n hint={intl.formatMessage({ id: \"content_form.title_hint\", defaultMessage: \"Le titre de votre publication.\" })}\n error={errors?.content?.title?.message as string | undefined}\n >\n <input\n {...register(\"content.title\", {\n required: intl.formatMessage({ id: \"content_form.title_cant_be_blank\", defaultMessage: \"Le titre ne peut pas être vide\" }),\n })}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.content?.title\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n type=\"text\"\n // id=\"content_content_attributes_title\"\n />\n </FormField>\n <div>\n <ChoiceButton\n showInputMessage={showInputMessage}\n handleAiButtonClick={handleAIButtonClick}\n handleManualButtonClick={handleManualButtonClick}\n />\n </div>\n {\n showInputMessage === true ?\n (\n <div>\n <OpenAiForm\n prompt={prompt}\n message=\"Entrez le sujet de votre post pour générer du texte, donner du contexte sur le message que vous souhaitez générer (limite: 30 par mois)\"\n placeholder=\"Exemple: 'Rédigez un article sur les avantages de vivre à Paris 17ème.'\"\n setPrompt={setPrompt}\n loading={disabledInput}\n error={error}\n Submit={SubmitOpenAI}\n />\n </div>\n ) : (\n <FormField\n title=\"Message\"\n hint={intl.formatMessage({ id: \"content_form.associated_text\", defaultMessage: \"Le texte associé à votre contenu.\" })}\n error={errors?.content?.teaser?.message as string | undefined}\n >\n <InsertableTextInput\n {...register(\"content.teaser\", {\n required: intl.formatMessage({ id: \"content_form.message_cant_be_blank\", defaultMessage: \"Le message ne peut pas être vide\" }),\n })}\n onInsertionCallback={() =>\n isSubmitted ? trigger(\"content.teaser\") : null\n }\n rows={5}\n inputType=\"textarea\"\n emojis={true}\n setValue={setValue}\n insertionVariables={[\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\",\n \"$SPONSORLINK\",\n \"$PROMOCODE\",\n ]}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.content?.teaser\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n />\n </FormField>\n )\n }\n <FormField\n title={intl.formatMessage({ id: \"content_form.short_description\", defaultMessage: \"Courte description\" })}\n >\n <textarea\n {...register(\"content.description\")}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.content?.description\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n rows={2}\n />\n </FormField>\n\n <FormField\n title={intl.formatMessage({ id: \"content_form.media\", defaultMessage: \"Média\" })}\n error={errors?.content?.focus?.message}\n hint={generateFocusHint()}\n >\n {/* On prend les erreurs de focus car elles concernent les media */}\n <ContentMediaUploader\n inputProps={{\n multiple: true,\n accept: focus === \"video\" ? \"video/*\" : \"image/*\",\n }}\n innerInfos={\n focus === \"video\" ? \"MP4, WEBM\" : \"PNG, JPG jusqu'à 10MB\"\n }\n setMedia={(m) => {\n setMedia(m);\n console.log(\"mais à la fin\");\n // On trigger le focus pour revalider les changements\n trigger(\"content.focus\");\n }}\n media={media}\n error={errors?.content?.focus?.message}\n />\n </FormField>\n\n <FormField\n title={intl.formatMessage({ id: \"content_form.link\", defaultMessage: \"Lien\" })}\n hint={intl.formatMessage({ id: \"content_form.warning_google\", defaultMessage: \"âš ï¸ Impossible de publier un contenu sur Google si vous indiquez le numéro de téléphone\" })}\n error={\n errors?.content?.reconstructed_url?.message as string | undefined\n }\n >\n <InsertableTextInput\n {...register(\"content.reconstructed_url\", {\n validate: (value: string | undefined) => {\n if (!value && getValues(\"content.focus\") === \"link\") {\n return \"En selectionnant l'expérience lien, vous devez indiquer un lien.\";\n } else {\n return true;\n }\n },\n })}\n onInsertionCallback={() =>\n isSubmitted ? trigger(\"content.reconstructed_url\") : null\n }\n emojis={false}\n setValue={setValue}\n insertionVariables={[\"$SITE\", \"$CODE\", \" $TEL\", \"$SPONSORLINK\"]}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.content?.reconstructed_url\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n />\n </FormField>\n\n {props.tag_groups && props.tag_groups.length > 0 && (\n <FormField\n title=\"Tags\"\n // hint=\"âš ï¸ Impossible de publier un contenu sur Google si vous indiquez le numéro de téléphone\"\n >\n <Controller\n name=\"content.tag_ids\"\n control={control}\n render={({ field }) => (\n <TagSelector\n onChange={(option) => field.onChange(option)}\n tagGroups={props.tag_groups}\n selected={field.value}\n />\n )}\n />\n </FormField>\n )}\n <FormField\n title={intl.formatMessage({ id: \"content_form.action_btn\", defaultMessage: \"Bouton d'action\" })}\n >\n <Controller\n name=\"content.cta\"\n control={control}\n // defaultValue={content&.content_attributes&.cta || null}\n render={({ field }) => (\n <Select\n onChange={(option) => field.onChange(option)}\n list={ctaOptions}\n value={field.value}\n disabled={focus !== \"link\"}\n />\n )}\n />\n </FormField>\n {props.content_dispenser && (\n <FormField\n title={intl.formatMessage({ id: \"content_form.expiration\", defaultMessage: \"Expiration\" })}\n hint={intl.formatMessage({ id: \"content_form.keep_empty\", defaultMessage: \"Laisser vide si le contenu ne périme pas.\" })}\n >\n <Controller\n name=\"content.expires_at\"\n control={control}\n render={({ field: { onChange } }) => (\n <DatePicker\n onChange={onChange}\n error={errors?.content?.expires_at?.message}\n options={{ minDate }}\n defaultValue={\n content.expires_at\n ? new Date(content.expires_at).toLocaleString(\"fr\")\n : undefined\n }\n />\n )}\n />\n </FormField>\n )}\n </FormLayout>\n\n <div className=\"flex justify-end pb-16\">\n <button\n disabled={submitted}\n className=\"relative btn-brand-primary\"\n type=\"submit\"\n >\n <Spinner className={`absolute ${!submitted && \"invisible\"} w-5 h-5 mb-1 ml-4 text-white animate-spin`} />\n <span className={` ${submitted && \"invisible\"}`}>\n <FormattedMessage id=\"content_form.save\" defaultMessage=\"Enregistrer\" />\n </span>\n </button>\n </div>\n </form>\n );\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport React from \"react\";\nimport { unmountComponentAtNode, createRoot } from \"react-dom/client\";\nimport ContentForm from \"../components/ContentForm\";\nimport { IntlProvider } from \"react-intl\";\nimport fr from \"../../../config/locales/js-lang/fr.json\";\nimport en from \"../../../config/locales/js-lang/en.json\"; // on mettra le compile plus tard\n\nexport default class extends Controller {\n get props() {\n return JSON.parse(this.data.get(\"props\"));\n }\n\n disconnect() {\n this.root.unmount();\n }\n\n initialize() {}\n\n connect() {\n // Create a root.\n this.root = createRoot(this.element);\n const messages = { fr, en };\n\n // Initial render: Render an element to the root.\n this.root.render(\n <IntlProvider\n locale={this.props.locale}\n messages={this.props.locale ? messages[this.props.locale] : fr}\n >\n <ContentForm {...this.props} />\n </IntlProvider>,\n this.element\n );\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\nimport { getCSRFToken } from \"../components/utils/various\";\n\n// TEMPORAIRE POUR GERER BUG TARGETS CONTENT\n\nexport default class extends Controller {\n static values = { contentId: String }\n static targets = [\"toLoad\", \"loader\"]\n\n createContent() {\n fetch(`/contents/${this.contentIdValue}/duplicate_with_ownership`, {\n method: \"POST\",\n headers: {\n \"X-CSRF-Token\": getCSRFToken(),\n },\n body: JSON.stringify({\n content: {\n content_type: \"post_generator\",\n content_id: this.contentIdValue,\n },\n }),\n })\n .then(response => response.json())\n .then((data) => {\n if (data.id) {\n window.Turbo?.visit(\n `/post_generators/new?instantiate_from[type]=content&instantiate_from[id]=${data.id}`\n )\n };\n })\n }\n\n insertLoader() {\n const loader = `<svg class=\"animate-spin\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" >\n <circle class=\"opacity-50\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-90\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>`\n this.loaderTarget.insertAdjacentHTML(\"afterbegin\", loader)\n }\n // pendant que ça ce se fait il faut loader un truc histoire de dire\n // patienter un peu\n // pour ça on va targeter le bouton et lui mettre un loader à la place\n\n createNewPg() {\n this.toLoadTarget.classList.add(\"invisible\")\n this.insertLoader()\n this.createContent()\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"dynamicSequencesContainer\", \"sequence\", \"addButton\", \"submitButton\"];\n\n connect() {\n this.dataArray = JSON.parse(this.data.get(\"props\"));\n this.lengthVariants = JSON.parse(this.data.get(\"length\"));\n this.dynamicPosition = this.getDynamicPosition();\n this.addPlusButton();\n this.checkFormCompletion(); \n this.watchInputs();\n this.observeSongSelection();\n }\n\n observeSongSelection() {\n const songSelectedElement = document.getElementById(\"song-selected\");\n\n const observer = new MutationObserver(() => {\n this.checkFormCompletion();\n });\n\n observer.observe(songSelectedElement, { attributes: true, attributeFilter: [\"value\"] });\n }\n\n getDynamicPosition() {\n const dynamicSequences = this.dataArray.filter(seq => seq.type === \"dynamic\");\n return dynamicSequences.length > 0 ? dynamicSequences[0].position : null;\n }\n\n addPlusButton(){\n const lastDynamic = this.dynamicSequencesContainerTarget.querySelectorAll(\"[data-sequence-type='dynamic']\");\n \n if (lastDynamic.length > 0) {\n const lastElement = lastDynamic[lastDynamic.length - 1];\n\n const existingButton = this.dynamicSequencesContainerTarget.querySelector('.add-sequence-btn');\n if (existingButton) existingButton.remove();\n\n const plusButton = document.createElement(\"button\");\n plusButton.textContent = \"Ajouter une séquence +\";\n plusButton.type = \"button\";\n plusButton.className = \"btn-brand-primary w-fit ml-auto add-sequence-btn\";\n\n plusButton.addEventListener(\"click\", (e) => this.addDynamicSequence(e));\n lastElement.insertAdjacentElement(\"afterend\", plusButton);\n }\n }\n\n addDynamicSequence(event) {\n event.preventDefault();\n \n const currentDynamicCount = this.dataArray.filter(seq => seq.type === \"dynamic\").length;\n const maxDynamicCount = Math.max(...this.lengthVariants);\n \n if (currentDynamicCount >= maxDynamicCount) {\n alert(\"Vous avez atteint le nombre maximum de séquences dynamiques.\");\n return;\n }\n \n const lastDynamicSequence = this.dataArray.find(seq => seq.type === \"dynamic\");\n\n const newDynamicSequence = { ...lastDynamicSequence };\n \n const lastPosition = Math.max(...this.dataArray.map(seq => parseInt(seq.position) || 0));\n newDynamicSequence.position = lastPosition + 1; // toujours ajouter 1 à la position la plus élevée\n newDynamicSequence.type = 'dynamic'; \n delete newDynamicSequence.index;\n \n this.dataArray.push(newDynamicSequence);\n \n // recalcule les positions pour toutes les sequences\n this.dataArray = this.dataArray.map((seq, i) => {\n seq.position = i + 1; // positionnement propre basé sur l'index\n return seq;\n });\n \n // rendre la nouvelle séquence\n this.renderNewSequence(newDynamicSequence);\n \n // replacer le bouton \n this.addPlusButton();\n \n // Recheck form validation after adding new sequence\n this.checkFormCompletion();\n }\n \n removeDynamicSequence(event) {\n event.preventDefault();\n\n const currentDynamicCount = this.dataArray.filter(seq => seq.type === \"dynamic\").length;\n const minDynamicCount = Math.min(...this.lengthVariants);\n\n if (currentDynamicCount <= minDynamicCount) {\n alert(\"Vous avez atteint le nombre minimum de séquences dynamiques.\");\n return;\n }\n\n const button = event.target;\n const sequenceDiv = button.closest('.sequence-div');\n const index = Array.from(this.dynamicSequencesContainerTarget.children).indexOf(sequenceDiv);\n\n // Supprimer de l'array dataArray\n this.dataArray.splice(index, 1);\n\n // Supprimer la div correspondante\n sequenceDiv.remove();\n\n this.addPlusButton();\n\n // Recheck form validation after removing sequence\n this.checkFormCompletion();\n }\n\n renderNewSequence(sequence) {\n const index = this.dataArray.indexOf(sequence); \n const sequenceDiv = document.createElement(\"div\");\n sequenceDiv.className = \"sequence-div flex flex-col gap-6 mt-4\";\n sequenceDiv.dataset.sequenceType = sequence.type || \"dynamic\"; \n \n sequenceDiv.innerHTML = `\n <div class=\"flex flex-col gap-6\">\n <h3 class=\"my-3 font-semibold\">Séquence ${sequence.position}</h3>\n <div class=\"flex gap-6\">\n <div class=\"\">\n ${sequence.position ? `<img src=\"${sequence.preview}\" alt=\"\" class=\"rounded\">` : \"\"}\n </div>\n <div class=\"w-full flex flex-col gap-6\">\n ${Object.keys(sequence).filter(key => key !== \"preview\" && key !== \"type\" && key !== \"position\" && key !== \"preview_dynamic_sequences\").map(key => `\n <div class=\"mb-2\">\n ${key.startsWith('image') ? \n `<div data-controller=\"cloudinary-uploader\" data-cloudinary-uploader-props='${JSON.stringify({ media: [], field_name: `creator_video[all_sequences][${index}][${key}]` })}'></div>` :\n `<input type=\"text\" name=\"creator_video[all_sequences][${index}][${key}]\" placeholder=\"${sequence[key]}\" class=\"form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm bg-gray-50\">`\n }\n </div>\n `).join('')}\n <input type=\"hidden\" name=\"creator_video[all_sequences][${index}][type]\" value=\"dynamic\">\n </div>\n </div>\n ${sequence.type === \"dynamic\" ? \n `<button class=\"btn-delete w-fit remove-sequence-btn\" data-index=\"${index}\">Supprimer</button>` : \"\"}\n </div>\n `;\n \n const addButton = this.dynamicSequencesContainerTarget.querySelector(\".add-sequence-btn\");\n addButton.insertAdjacentElement(\"beforebegin\", sequenceDiv);\n sequenceDiv.querySelector(\".remove-sequence-btn\").addEventListener(\"click\", (e) => this.removeDynamicSequence(e));\n }\n\n checkFormCompletion() {\n const form = document.getElementById(\"creator-video-form\");\n const submitButton = form.querySelector(\"input[type='submit']\");\n const songSelected = document.getElementById(\"song-selected\").value === \"true\";\n\n let isValid = true;\n\n // Sélectionner tous les inputs texte, couleur, hidden, select et les images Cloudinary\n const inputs = form.querySelectorAll(\"input[type='text'], input[type='color'], input[type='hidden'][name*='[image]'], select\");\n\n inputs.forEach(input => {\n if (input.value.trim() === \"\") {\n isValid = false;\n }\n });\n \n // Désactive ou active le bouton en fonction de la validité\n if (isValid && songSelected) {\n submitButton.disabled = false;\n submitButton.classList.remove(\"bg-gray-500\", \"cursor-not-allowed\");\n submitButton.classList.add(\"btn-brand-primary\");\n console.log(\"Form is valid\");\n } else {\n submitButton.disabled = true;\n submitButton.classList.remove(\"btn-brand-primary\");\n submitButton.classList.add(\"bg-gray-500\", \"cursor-not-allowed\");\n console.log(\"Form is invalid\");\n }\n }\n\n watchInputs() {\n const form = document.getElementById(\"creator-video-form\");\n const inputs = form.querySelectorAll(\"input[type='text'], input[type='color'], input[type='hidden'], select\");\n\n // Ajoute un écouteur d'événements sur tous les inputs pour vérifier le formulaire à chaque changement\n inputs.forEach(input => {\n input.addEventListener(\"input\", () => this.checkFormCompletion());\n });\n }\n}","class CSVBoxImporter {\r\n\r\n constructor(slug, data = {}, callback = null, configuration = {}) {\r\n\r\n this.configuration = configuration;\r\n\r\n this.log(\"Importer initialisation started\");\r\n\r\n this.isIframeLoaded = false;\r\n this.shouldOpenModalonIframeLoad = false;\r\n this.slug = slug;\r\n this.data = data;\r\n\r\n this.key = this.randomString();\r\n\r\n this.columns = [];\r\n this.options = [];\r\n\r\n if(!!this.configuration.data_location) {\r\n this.data_location = this.configuration.data_location;\r\n }\r\n\r\n if (callback && (typeof callback == \"function\")) {\r\n this.callback = callback;\r\n }\r\n\r\n let self = this;\r\n\r\n if(document.readyState === \"complete\") {\r\n self.log(\"document readyState is complete\");\r\n if(!self.configuration.lazy) {\r\n self.setUpImporter();\r\n }\r\n }\r\n\r\n this.log(\"Setting up DOMContentLoaded event listener \" + document.readyState);\r\n\r\n document.addEventListener('DOMContentLoaded', function() {\r\n self.log(\"Event: DOMContentLoaded\");\r\n if(!self.configuration.lazy) {\r\n self.setUpImporter();\r\n }\r\n });\r\n\r\n if(!this.configuration.lazy) {\r\n this.setUpImporter();\r\n }\r\n\r\n this.log(\"Importer initialisation done\");\r\n \r\n }\r\n\r\n initImporter() {\r\n\r\n try {\r\n\r\n this.onLoadStart?.();\r\n\r\n this.log(\"Called setUpImporter();\");\r\n\r\n this.isModalShown = false;\r\n this.isIframeLoaded = false;\r\n\r\n this.setupMessageListener();\r\n\r\n let cssText = \"\" +\r\n \".csvbox-component {\" +\r\n \"position: fixed;\" +\r\n \"top: 0;\" +\r\n \"bottom: 0;\" +\r\n \"left: 0;\" +\r\n \"right: 0;\" +\r\n \"z-index:2147483647;\" +\r\n \"}\" +\r\n \".csvbox-component iframe{\" +\r\n \"height: 100%;\" +\r\n \"width: 100%;\" +\r\n \"position: absolute;\" +\r\n \"}\";\r\n\r\n let css = document.createElement(\"style\");\r\n css.type = \"text/css\";\r\n if (\"textContent\" in css)\r\n css.textContent = cssText;\r\n else\r\n css.innerText = cssText;\r\n document.body.appendChild(css);\r\n\r\n this.id = \"csvbox-embed-\" + this.key;\r\n this.holder = document.createElement(\"div\");\r\n this.holder.classList.add('csvbox-component');\r\n this.holder.style.display = \"none\";\r\n\r\n let iframe = document.createElement(\"iframe\");\r\n this.iframe = iframe;\r\n\r\n let domain = \"app.csvbox.io\";\r\n\r\n if(!!this.configuration.customDomain) {\r\n domain = this.configuration.customDomain;\r\n }\r\n\r\n let BASE_URL = `https://${domain}/embed/`;\r\n\r\n if(this.data_location) {\r\n BASE_URL = `https://${this.data_location}-${domain}/embed/`;\r\n }\r\n\r\n let url = BASE_URL + this.slug;\r\n url += `?debug=${!!this.configuration?.debug}`;\r\n url += `&source=embedCode`;\r\n url += `&library-version=${ this.configuration?.libraryVersion ? this.configuration?.libraryVersion : '1.1.0'}`;\r\n\r\n if(this.configuration?.framework) {\r\n url += `&framework=${this.configuration.framework}`;\r\n }\r\n\r\n if(this.data_location) {\r\n url += `&preventRedirect`;\r\n }\r\n\r\n if(this.options.language) {\r\n url += `&language=${this.options.language}`;\r\n }\r\n\r\n if(this.configuration?.environment) {\r\n let environment = JSON.stringify(this.configuration.environment).replace(/['\"]/g, function(match) {\r\n return '\\\\' + match;\r\n });\r\n url += `&env=${environment}`;\r\n }\r\n\r\n this.log(\"Loading url \" + url);\r\n\r\n iframe.setAttribute(\"src\", url);\r\n\r\n iframe.setAttribute(\"data-csvbox-slug\", this.slug); \r\n\r\n iframe.frameBorder = 0;\r\n this.holder.id = this.id;\r\n this.holder.appendChild(iframe);\r\n document.body.appendChild(this.holder);\r\n\r\n let self = this;\r\n\r\n iframe.onload = function () {\r\n\r\n self.isIframeLoaded = true;\r\n\r\n if(self.shouldOpenModalonIframeLoad) {\r\n self.shouldOpenModalonIframeLoad = false;\r\n self.openModal();\r\n }\r\n\r\n iframe.contentWindow.postMessage({\r\n \"customer\" : self.data,\r\n \"columns\" : self.columns,\r\n \"options\" : self.options,\r\n \"unique_token\": self.key\r\n }, \"*\");\r\n\r\n self.onReady?.();\r\n\r\n self.log(\"iframe is ready.\");\r\n\r\n }\r\n\r\n // this.isImporterInitialised = true;\r\n } catch(err) {\r\n this.log(\"Importer initialisation error \" + err);\r\n // this.isImporterInitialised = false;\r\n }\r\n }\r\n\r\n\r\n setUpImporter() {\r\n\r\n let oldComponent = document.getElementById(\"csvbox-embed-\" + this.key);\r\n\r\n if(oldComponent) {\r\n \r\n this.log(\"Old csvbox component present on page\");\r\n\r\n let iframe = oldComponent.firstChild;\r\n if(iframe.getAttribute(\"data-csvbox-slug\") !== this.slug) {\r\n this.log(\"Slug has been changed, csvbox component refresh is required\");\r\n oldComponent.remove();\r\n this.initImporter();\r\n }\r\n \r\n }else{\r\n this.initImporter();\r\n }\r\n\r\n \r\n }\r\n\r\n setUser(data) {\r\n this.data = data;\r\n if(this.iframe) {\r\n this.iframe.contentWindow.postMessage({\r\n \"customer\" : this.data\r\n }, \"*\");\r\n }\r\n }\r\n\r\n listen(type, callback = null) {\r\n if(typeof callback == \"function\") {\r\n switch(type){\r\n case \"onReady\":\r\n this.onReady = callback;\r\n break;\r\n case \"onClose\":\r\n this.onClose = callback;\r\n break;\r\n case \"onSubmit\":\r\n this.onSubmit = callback;\r\n break;\r\n case \"onLoadStart\":\r\n this.onLoadStart = callback;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n setupMessageListener() {\r\n \r\n window.addEventListener(\"message\", (event) => {\r\n\r\n if (event.data === \"mainModalHidden\") {\r\n this.holder.style.display = 'none';\r\n this.isModalShown = false;\r\n this.onClose?.();\r\n }\r\n if(event.data === \"uploadSuccessful\") {\r\n if(this.callback && (typeof this.callback == \"function\")){\r\n this.callback(true);\r\n }\r\n }\r\n if(event.data === \"uploadFailed\") {\r\n if(this.callback && (typeof this.callback == \"function\")){\r\n this.callback(false);\r\n }\r\n }\r\n if(typeof event.data == \"object\") {\r\n if(event?.data?.data?.unique_token == this.key) {\r\n if(event.data.type && event.data.type == \"data-on-submit\") {\r\n let metadata = event.data.data;\r\n metadata[\"column_mappings\"] = event.data.column_mapping;\r\n metadata[\"ignored_columns\"] = event.data.ignored_column_row;\r\n delete metadata[\"unique_token\"];\r\n this.onSubmit?.(metadata);\r\n }\r\n else if(event.data.type && event.data.type == \"data-push-status\") {\r\n if(event.data.data.import_status == \"success\") {\r\n \r\n if(event?.data?.row_data) {\r\n \r\n let primary_row_data = event.data.row_data;\r\n let headers = event.data.headers;\r\n let rows = [];\r\n let dynamic_columns_indexes = event.data.dynamicColumnsIndexes;\r\n let virtual_columns_indexes = event.data.virtualColumnsIndexes || [];\r\n\r\n primary_row_data.forEach((row_data) => {\r\n \r\n let x = {};\r\n let dynamic_columns = {};\r\n let virtual_data = {};\r\n\r\n row_data.data.forEach((col, i)=>{\r\n if(col == undefined){ col = \"\"};\r\n if(dynamic_columns_indexes.includes(i)) {\r\n dynamic_columns[headers[i]] = col;\r\n }\r\n else if(virtual_columns_indexes.includes(i)) {\r\n virtual_data[headers[i]] = col;\r\n }\r\n else{\r\n x[headers[i]] = col;\r\n }\r\n });\r\n\r\n if(row_data?.unmapped_data) {\r\n x[\"_unmapped_data\"] = row_data.unmapped_data;\r\n }\r\n if(dynamic_columns && Object.keys(dynamic_columns).length > 0) {\r\n x[\"_dynamic_data\"] = dynamic_columns;\r\n }\r\n if(virtual_data && Object.keys(virtual_data).length > 0) {\r\n x[\"_virtual_data\"] = virtual_data;\r\n }\r\n \r\n rows.push(x);\r\n\r\n });\r\n let metadata = event.data.data;\r\n metadata[\"rows\"] = rows;\r\n metadata[\"column_mappings\"] = event.data.column_mapping;\r\n metadata[\"raw_columns\"] = event.data.raw_columns;\r\n metadata[\"ignored_columns\"] = event.data.ignored_column_row;\r\n delete metadata[\"unique_token\"];\r\n this.callback(true, metadata);\r\n }else{\r\n let metadata = event.data.data;\r\n delete metadata[\"unique_token\"];\r\n this.callback(true, metadata);\r\n }\r\n }else {\r\n let metadata = event.data.data;\r\n delete metadata[\"unique_token\"];\r\n this.callback(false, metadata);\r\n }\r\n \r\n }else if (event.data.type && event.data.type == \"csvbox-upload-failed\") {\r\n this.callback(false);\r\n }else if(event.data.type && event.data.type == \"csvbox-modal-hidden\") {\r\n this.holder.style.display = 'none';\r\n this.isModalShown = false;\r\n this.onClose?.();\r\n }\r\n \r\n }\r\n\r\n }\r\n }, false);\r\n\r\n this.log(\"Message listener initialised.\");\r\n\r\n }\r\n\r\n openModal() {\r\n if(!!this.configuration.lazy) {\r\n this.setUpImporter();\r\n }\r\n if(this.isIframeLoaded) {\r\n if(!this.isModalShown) {\r\n this.isModalShown = true;\r\n this.holder.querySelector('iframe').contentWindow.postMessage('openModal', '*');\r\n this.holder.style.display = 'block';\r\n }\r\n } else {\r\n this.shouldOpenModalonIframeLoad = true;\r\n this.log(\"iframe not loaded yet. Modal will open once iframe is loaded\");\r\n }\r\n }\r\n\r\n randomString() {\r\n let result = '';\r\n let characters = 'abcdefghijklmnopqrstuvwxyz0123456789';\r\n let charactersLength = characters.length;\r\n for (let i = 0; i < 15; i++) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result;\r\n }\r\n\r\n setDynamicColumns(columns) {\r\n this.columns = columns;\r\n if(this.iframe) {\r\n this.iframe.contentWindow.postMessage({\r\n \"columns\" : this.columns\r\n }, \"*\");\r\n }\r\n }\r\n\r\n setOptions(options) {\r\n this.options = options;\r\n if(this.iframe) {\r\n this.iframe.contentWindow.postMessage({\r\n \"options\" : this.options\r\n }, \"*\");\r\n }\r\n }\r\n\r\n log(message) {\r\n if(!!this.configuration.debug || (sessionStorage && sessionStorage.getItem('CSVBOX_DEBUG_FLAG') == \"true\" )) {\r\n console.log(\"[CSVBox]\", message); \r\n }\r\n }\r\n\r\n}\r\n\r\nif(document.querySelector(\"[data-csvbox]\") != null){\r\n document.onreadystatechange = () => {\r\n if (document.readyState === 'complete') {\r\n document.querySelector(\"[data-csvbox]\").disabled = false;\r\n }else{\r\n document.querySelector(\"[data-csvbox]\").disabled = true;\r\n }\r\n };\r\n}\r\n\r\nexport default CSVBoxImporter;","import { Controller } from \"@hotwired/stimulus\"\nimport CSVBoxImporter from '@csvbox/csvboxjs';\nimport { getCSRFToken } from \"../components/utils/various\";\n\n\nexport default class CsvBox extends Controller {\n\n static values = {\n formatterFn: String,\n endpoint: String,\n key: String,\n userId: String,\n dynamicColumns: Array,\n method: String\n }\n\n connect() {\n this.importer = new CSVBoxImporter(this.keyValue, {}, this.callback.bind(this))\n this.importer.setUser({ user_id: this.userId })\n if (this.dynamicColumnsValue) this.importer.setDynamicColumns(this.dynamicColumnsValue)\n this.element.onclick = () => { console.log(\"click\", this.importer.openModal()) }\n }\n\n get formatter() {\n return window[this.formatterFnValue]\n }\n\n\n get csrfToken() {\n return getCSRFToken()\n }\n\n get request() {\n const xhr = new XMLHttpRequest();\n xhr.open(this.methodValue || \"POST\", this.endpointValue, true);\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.setRequestHeader(\"X-CSRF-Token\", this.csrfToken);\n xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8')\n xhr.onreadystatechange = (e) => (xhr.readyState == 4 && xhr.status == 200) ? location.reload() : console.log(e)\n return xhr\n }\n\n callback(result, data) {\n if (!result) return\n const content = JSON.stringify(this.format(data))\n this.request.send(content)\n }\n\n format(data) {\n if (this.formatter && typeof (this.formatter) == \"function\") {\n return this.formatter(data)\n } else {\n return data\n }\n }\n\n\n}\n","import { CloudArrowDownIcon } from \"@heroicons/react/24/solid\";\nimport React, { useEffect, useState } from \"react\";\nimport Spinner from \"./Spinner\";\nimport { getCSRFToken } from \"./utils/various\";\nimport { useIntl, FormattedMessage } from \"react-intl\";\n\n\nconst DanimLoaderButton = () => {\n const authenticity_token = getCSRFToken();\n\n const [loading, setLoading] = useState(false);\n const [videos, setVideos] = useState([]);\n\n useEffect(() => {\n fetchVids();\n }, []);\n\n const fetchVids = async () => {\n setLoading(true);\n const response = await fetch(\"/content_media/danim_get_videos\", {\n method: \"POST\",\n headers: {\n \"X-CSRF-Token\": authenticity_token,\n },\n });\n if (response.status === 200) {\n //setVideos(await response.json());\n setLoading(false);\n } else {\n setLoading(false);\n }\n };\n\n const intl = useIntl()\n\n return (\n <div>\n <div className=\"relative flex justify-center w-full mb-2 text-sm\">\n <small className=\"text-center text-gray-700\">\n {!loading &&\n (videos.length > 0 ? (\n <>\n {videos.length === 1\n ? `${videos.length} vidéo trouvée, retrouvez-la `\n : `${videos.length} vidéos trouvées, retrouvez-les `}\n <a className=\"text-brand_main underline\" href=\"/company_contents\">\n {\" \"}\n <FormattedMessage id=\"danim_loader_button.in_your_library\" defaultMessage=\"dans votre bibliothèque\" />\n </a>\n .\n </>\n ) : (\n <FormattedMessage id=\"danim_loader_button.no_new_video\" defaultMessage=\"Pas de nouvelle vidéo. Créez-en dans l'interface ci-dessous, puis récupérez-les dans votre bibliothèque via le bouton de gauche.\" />\n ))}\n </small>\n <div className=\"absolute flex flex-col h-12 space-y-2 -bottom-16 left-16\">\n <button\n type=\"button\"\n onClick={fetchVids}\n disabled={loading}\n className=\"w-52 shadow-sm rounded-md bg-indigo-600 py-2.5 px-2.5 text-sm font-semibold text-white hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600\"\n >\n <span className=\"mb-2 \">\n {!loading ? (\n <>\n <CloudArrowDownIcon className=\"inline w-6 h-6 mr-2\" />\n <FormattedMessage id=\"danim_loader_button.get_videos\" defaultMessage=\"Récupérer les vidéos\" />\n </>\n ) : (\n <>\n <Spinner className=\"inline w-6 mr-2 text-white animate-spin\" />\n <FormattedMessage id=\"danim_loader_button.get_videos_in_progess\" defaultMessage=\"Récupération en cours\" />\n </>\n )}\n </span>\n </button>\n </div>\n </div>\n\n\n </div>\n );\n};\nexport default DanimLoaderButton;\n","import { Controller } from \"@hotwired/stimulus\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport DanimLoaderButton from \"../components/DanimLoaderButton\";\nimport { IntlProvider } from \"react-intl\";\nimport fr from \"../../../config/locales/js-lang/fr.json\";\nimport en from \"../../../config/locales/js-lang/en.json\"; // on mettra le compile plus tard\n\nexport default class extends Controller {\n // get props() {\n // return JSON.parse(this.data.get(\"props\"));\n // }\n get props() {\n return JSON.parse(this.data.get(\"props\"));\n }\n\n disconnect() {\n ReactDOM.unmountComponentAtNode(this.element);\n }\n\n initialize() {}\n\n connect() {\n const messages = { fr, en };\n\n ReactDOM.render(\n <IntlProvider\n locale={this.props.locale}\n messages={this.props.locale ? messages[this.props.locale] : fr}\n >\n <DanimLoaderButton {...this.props} />\n </IntlProvider>,\n this.element\n );\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nconst _Dialog = class _Dialog extends Controller {\n initialize() {\n this.forceClose = this.forceClose.bind(this);\n }\n connect() {\n this.openValue && this.open(), document.addEventListener(\"turbo:before-render\", this.forceClose);\n }\n disconnect() {\n document.removeEventListener(\"turbo:before-render\", this.forceClose);\n }\n open() {\n this.dialogTarget.showModal();\n }\n close() {\n this.dialogTarget.setAttribute(\"closing\", \"\"), Promise.all(this.dialogTarget.getAnimations().map((animation) => animation.finished)).then(() => {\n this.dialogTarget.removeAttribute(\"closing\"), this.dialogTarget.close();\n });\n }\n backdropClose(event) {\n event.target === this.dialogTarget && this.close();\n }\n forceClose() {\n this.dialogTarget.close();\n }\n};\n_Dialog.targets = [\"dialog\"], _Dialog.values = {\n open: {\n type: Boolean,\n default: !1\n }\n};\nlet Dialog = _Dialog;\nexport {\n Dialog as default\n};\n","import StimulusDialog from \"@stimulus-components/dialog\";\n\nexport default class Dialog extends StimulusDialog {\n // Function to override on open.\n open(event) {\n const eventId = event.detail?.id;\n const elementId = this.element?.id;\n\n // Logique pour afficher une modal spécifique\n // en ajoutant un id sur l'element et dans le custom event\n // Le fait d'ajouter un id sur l'element HTML dialog attendra d'avoir un event.detail.id identique\n if (eventId) {\n if (eventId === elementId) {\n this.element.dispatchEvent(\n new CustomEvent(\"dialog:opened\", {\n detail: { open: true }, // Données optionnelles\n bubbles: true, // Permet à l’événement de remonter dans le DOM\n })\n );\n super.open();\n }\n } else if (!elementId) {\n super.open();\n }\n }\n\n close() {\n this.element.dispatchEvent(\n new CustomEvent(\"dialog:closed\", {\n detail: { closed: true }, // Données optionnelles\n bubbles: true, // Permet à l’événement de remonter dans le DOM\n })\n );\n super.close();\n }\n}\n","import { Controller as o } from \"@hotwired/stimulus\";\nclass r extends o {\n async show(e) {\n const n = e.currentTarget;\n let t = null;\n if (this.hasContentTarget ? t = this.contentTarget.innerHTML : t = await this.fetch(), !t)\n return;\n const a = document.createRange().createContextualFragment(t);\n n.appendChild(a);\n }\n hide() {\n this.hasCardTarget && this.cardTarget.remove();\n }\n async fetch() {\n if (!this.remoteContent) {\n if (!this.hasUrlValue) {\n console.error(\"[stimulus-popover] You need to pass an url to fetch the popover content.\");\n return;\n }\n const e = await fetch(this.urlValue);\n this.remoteContent = await e.text();\n }\n return this.remoteContent;\n }\n}\nr.targets = [\"card\", \"content\"];\nr.values = {\n url: String\n};\nexport {\n r as default\n};\n","/*\n * stimulus-use 0.52.2\n */\nimport { Controller } from \"@hotwired/stimulus\";\n\nconst method = (controller, methodName) => {\n const method = controller[methodName];\n if (typeof method == \"function\") {\n return method;\n } else {\n return (...args) => {};\n }\n};\n\nconst composeEventName = (name, controller, eventPrefix) => {\n let composedName = name;\n if (eventPrefix === true) {\n composedName = `${controller.identifier}:${name}`;\n } else if (typeof eventPrefix === \"string\") {\n composedName = `${eventPrefix}:${name}`;\n }\n return composedName;\n};\n\nconst extendedEvent = (type, event, detail) => {\n const {bubbles: bubbles, cancelable: cancelable, composed: composed} = event || {\n bubbles: true,\n cancelable: true,\n composed: true\n };\n if (event) {\n Object.assign(detail, {\n originalEvent: event\n });\n }\n const customEvent = new CustomEvent(type, {\n bubbles: bubbles,\n cancelable: cancelable,\n composed: composed,\n detail: detail\n });\n return customEvent;\n};\n\nfunction isElementInViewport(el) {\n const rect = el.getBoundingClientRect();\n const windowHeight = window.innerHeight || document.documentElement.clientHeight;\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n const vertInView = rect.top <= windowHeight && rect.top + rect.height > 0;\n const horInView = rect.left <= windowWidth && rect.left + rect.width > 0;\n return vertInView && horInView;\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, ((_, char) => char.toUpperCase()));\n}\n\n/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise */ function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nconst defaultOptions$8 = {\n debug: false,\n logger: console,\n dispatchEvent: true,\n eventPrefix: true\n};\n\nclass StimulusUse {\n constructor(controller, options = {}) {\n var _a, _b, _c;\n this.log = (functionName, args) => {\n if (!this.debug) return;\n this.logger.groupCollapsed(`%c${this.controller.identifier} %c#${functionName}`, \"color: #3B82F6\", \"color: unset\");\n this.logger.log(Object.assign({\n controllerId: this.controllerId\n }, args));\n this.logger.groupEnd();\n };\n this.warn = message => {\n this.logger.warn(`%c${this.controller.identifier} %c${message}`, \"color: #3B82F6; font-weight: bold\", \"color: unset\");\n };\n this.dispatch = (eventName, details = {}) => {\n if (this.dispatchEvent) {\n const {event: event} = details, eventDetails = __rest(details, [ \"event\" ]);\n const customEvent = this.extendedEvent(eventName, event || null, eventDetails);\n this.targetElement.dispatchEvent(customEvent);\n this.log(\"dispatchEvent\", Object.assign({\n eventName: customEvent.type\n }, eventDetails));\n }\n };\n this.call = (methodName, args = {}) => {\n const method = this.controller[methodName];\n if (typeof method == \"function\") {\n return method.call(this.controller, args);\n }\n };\n this.extendedEvent = (name, event, detail) => {\n const {bubbles: bubbles, cancelable: cancelable, composed: composed} = event || {\n bubbles: true,\n cancelable: true,\n composed: true\n };\n if (event) {\n Object.assign(detail, {\n originalEvent: event\n });\n }\n const customEvent = new CustomEvent(this.composeEventName(name), {\n bubbles: bubbles,\n cancelable: cancelable,\n composed: composed,\n detail: detail\n });\n return customEvent;\n };\n this.composeEventName = name => {\n let composedName = name;\n if (this.eventPrefix === true) {\n composedName = `${this.controller.identifier}:${name}`;\n } else if (typeof this.eventPrefix === \"string\") {\n composedName = `${this.eventPrefix}:${name}`;\n }\n return composedName;\n };\n this.debug = (_b = (_a = options === null || options === void 0 ? void 0 : options.debug) !== null && _a !== void 0 ? _a : controller.application.stimulusUseDebug) !== null && _b !== void 0 ? _b : defaultOptions$8.debug;\n this.logger = (_c = options === null || options === void 0 ? void 0 : options.logger) !== null && _c !== void 0 ? _c : defaultOptions$8.logger;\n this.controller = controller;\n this.controllerId = controller.element.id || controller.element.dataset.id;\n this.targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n const {dispatchEvent: dispatchEvent, eventPrefix: eventPrefix} = Object.assign({}, defaultOptions$8, options);\n Object.assign(this, {\n dispatchEvent: dispatchEvent,\n eventPrefix: eventPrefix\n });\n this.controllerInitialize = controller.initialize.bind(controller);\n this.controllerConnect = controller.connect.bind(controller);\n this.controllerDisconnect = controller.disconnect.bind(controller);\n }\n}\n\nconst defaultOptions$7 = {\n eventPrefix: true,\n bubbles: true,\n cancelable: true\n};\n\nclass UseDispatch extends StimulusUse {\n constructor(controller, options = {}) {\n var _a, _b, _c, _d;\n super(controller, options);\n this.dispatch = (eventName, detail = {}) => {\n const {controller: controller, targetElement: targetElement, eventPrefix: eventPrefix, bubbles: bubbles, cancelable: cancelable, log: log, warn: warn} = this;\n Object.assign(detail, {\n controller: controller\n });\n const eventNameWithPrefix = composeEventName(eventName, this.controller, eventPrefix);\n const event = new CustomEvent(eventNameWithPrefix, {\n detail: detail,\n bubbles: bubbles,\n cancelable: cancelable\n });\n targetElement.dispatchEvent(event);\n warn(\"`useDispatch()` is deprecated. Please use the built-in `this.dispatch()` function from Stimulus. You can find more information on how to upgrade at: https://stimulus-use.github.io/stimulus-use/#/use-dispatch\");\n log(\"dispatch\", {\n eventName: eventNameWithPrefix,\n detail: detail,\n bubbles: bubbles,\n cancelable: cancelable\n });\n return event;\n };\n this.targetElement = (_a = options.element) !== null && _a !== void 0 ? _a : controller.element;\n this.eventPrefix = (_b = options.eventPrefix) !== null && _b !== void 0 ? _b : defaultOptions$7.eventPrefix;\n this.bubbles = (_c = options.bubbles) !== null && _c !== void 0 ? _c : defaultOptions$7.bubbles;\n this.cancelable = (_d = options.cancelable) !== null && _d !== void 0 ? _d : defaultOptions$7.cancelable;\n this.enhanceController();\n }\n enhanceController() {\n Object.assign(this.controller, {\n dispatch: this.dispatch\n });\n }\n}\n\nconst useDispatch = (controller, options = {}) => new UseDispatch(controller, options);\n\nconst defaultOptions$6 = {\n overwriteDispatch: true\n};\n\nconst useApplication = (controller, options = {}) => {\n const {overwriteDispatch: overwriteDispatch} = Object.assign({}, defaultOptions$6, options);\n Object.defineProperty(controller, \"isPreview\", {\n get() {\n return document.documentElement.hasAttribute(\"data-turbolinks-preview\") || document.documentElement.hasAttribute(\"data-turbo-preview\");\n }\n });\n Object.defineProperty(controller, \"isConnected\", {\n get() {\n return !!Array.from(this.context.module.connectedContexts).find((c => c === this.context));\n }\n });\n Object.defineProperty(controller, \"csrfToken\", {\n get() {\n return this.metaValue(\"csrf-token\");\n }\n });\n if (overwriteDispatch) {\n useDispatch(controller, options);\n }\n Object.assign(controller, {\n metaValue(name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`);\n return element && element.getAttribute(\"content\");\n }\n });\n};\n\nclass ApplicationController extends Controller {\n constructor(context) {\n super(context);\n this.isPreview = false;\n this.isConnected = false;\n this.csrfToken = \"\";\n useApplication(this, this.options);\n }\n}\n\nconst defaultOptions$5 = {\n events: [ \"click\", \"touchend\" ],\n onlyVisible: true,\n dispatchEvent: true,\n eventPrefix: true\n};\n\nconst useClickOutside = (composableController, options = {}) => {\n const controller = composableController;\n const {onlyVisible: onlyVisible, dispatchEvent: dispatchEvent, events: events, eventPrefix: eventPrefix} = Object.assign({}, defaultOptions$5, options);\n const onEvent = event => {\n const targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n if (targetElement.contains(event.target) || !isElementInViewport(targetElement) && onlyVisible) {\n return;\n }\n if (controller.clickOutside) {\n controller.clickOutside(event);\n }\n if (dispatchEvent) {\n const eventName = composeEventName(\"click:outside\", controller, eventPrefix);\n const clickOutsideEvent = extendedEvent(eventName, event, {\n controller: controller\n });\n targetElement.dispatchEvent(clickOutsideEvent);\n }\n };\n const observe = () => {\n events === null || events === void 0 ? void 0 : events.forEach((event => {\n window.addEventListener(event, onEvent, true);\n }));\n };\n const unobserve = () => {\n events === null || events === void 0 ? void 0 : events.forEach((event => {\n window.removeEventListener(event, onEvent, true);\n }));\n };\n const controllerDisconnect = controller.disconnect.bind(controller);\n Object.assign(controller, {\n disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [ observe, unobserve ];\n};\n\nclass ClickOutsideComposableController extends Controller {}\n\nclass ClickOutsideController extends ClickOutsideComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useClickOutside(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nclass DebounceController extends Controller {}\n\nDebounceController.debounces = [];\n\nconst defaultWait$1 = 200;\n\nconst debounce = (fn, wait = defaultWait$1) => {\n let timeoutId = null;\n return function() {\n const args = Array.from(arguments);\n const context = this;\n const params = args.map((arg => arg.params));\n const callback = () => {\n args.forEach(((arg, index) => arg.params = params[index]));\n return fn.apply(context, args);\n };\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(callback, wait);\n };\n};\n\nconst useDebounce = (composableController, options) => {\n const controller = composableController;\n const constructor = controller.constructor;\n constructor.debounces.forEach((func => {\n if (typeof func === \"string\") {\n controller[func] = debounce(controller[func], options === null || options === void 0 ? void 0 : options.wait);\n }\n if (typeof func === \"object\") {\n const {name: name, wait: wait} = func;\n if (!name) return;\n controller[name] = debounce(controller[name], wait || (options === null || options === void 0 ? void 0 : options.wait));\n }\n }));\n};\n\nclass UseHover extends StimulusUse {\n constructor(controller, options = {}) {\n super(controller, options);\n this.observe = () => {\n this.targetElement.addEventListener(\"mouseenter\", this.onEnter);\n this.targetElement.addEventListener(\"mouseleave\", this.onLeave);\n };\n this.unobserve = () => {\n this.targetElement.removeEventListener(\"mouseenter\", this.onEnter);\n this.targetElement.removeEventListener(\"mouseleave\", this.onLeave);\n };\n this.onEnter = event => {\n this.call(\"mouseEnter\", event);\n this.log(\"mouseEnter\", {\n hover: true\n });\n this.dispatch(\"mouseEnter\", {\n hover: false\n });\n };\n this.onLeave = event => {\n this.call(\"mouseLeave\", event);\n this.log(\"mouseLeave\", {\n hover: false\n });\n this.dispatch(\"mouseLeave\", {\n hover: false\n });\n };\n this.controller = controller;\n this.enhanceController();\n this.observe();\n }\n enhanceController() {\n const controllerDisconnect = this.controller.disconnect.bind(this.controller);\n const disconnect = () => {\n this.unobserve();\n controllerDisconnect();\n };\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n}\n\nconst useHover = (composableController, options = {}) => {\n const controller = composableController;\n const observer = new UseHover(controller, options);\n return [ observer.observe, observer.unobserve ];\n};\n\nclass HoverComposableController extends Controller {}\n\nclass HoverController extends HoverComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useHover(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nconst defaultEvents = [ \"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\" ];\n\nconst oneMinute = 6e4;\n\nconst defaultOptions$4 = {\n ms: oneMinute,\n initialState: false,\n events: defaultEvents,\n dispatchEvent: true,\n eventPrefix: true\n};\n\nconst useIdle = (composableController, options = {}) => {\n const controller = composableController;\n const {ms: ms, initialState: initialState, events: events, dispatchEvent: dispatchEvent, eventPrefix: eventPrefix} = Object.assign({}, defaultOptions$4, options);\n let isIdle = initialState;\n let timeout = setTimeout((() => {\n isIdle = true;\n dispatchAway();\n }), ms);\n const dispatchAway = event => {\n const eventName = composeEventName(\"away\", controller, eventPrefix);\n controller.isIdle = true;\n method(controller, \"away\").call(controller, event);\n if (dispatchEvent) {\n const clickOutsideEvent = extendedEvent(eventName, event || null, {\n controller: controller\n });\n controller.element.dispatchEvent(clickOutsideEvent);\n }\n };\n const dispatchBack = event => {\n const eventName = composeEventName(\"back\", controller, eventPrefix);\n controller.isIdle = false;\n method(controller, \"back\").call(controller, event);\n if (dispatchEvent) {\n const clickOutsideEvent = extendedEvent(eventName, event || null, {\n controller: controller\n });\n controller.element.dispatchEvent(clickOutsideEvent);\n }\n };\n const onEvent = event => {\n if (isIdle) dispatchBack(event);\n isIdle = false;\n clearTimeout(timeout);\n timeout = setTimeout((() => {\n isIdle = true;\n dispatchAway(event);\n }), ms);\n };\n const onVisibility = event => {\n if (!document.hidden) onEvent(event);\n };\n if (isIdle) {\n dispatchAway();\n } else {\n dispatchBack();\n }\n const controllerDisconnect = controller.disconnect.bind(controller);\n const observe = () => {\n events.forEach((event => {\n window.addEventListener(event, onEvent);\n }));\n document.addEventListener(\"visibilitychange\", onVisibility);\n };\n const unobserve = () => {\n clearTimeout(timeout);\n events.forEach((event => {\n window.removeEventListener(event, onEvent);\n }));\n document.removeEventListener(\"visibilitychange\", onVisibility);\n };\n Object.assign(controller, {\n disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [ observe, unobserve ];\n};\n\nclass IdleComposableController extends Controller {\n constructor() {\n super(...arguments);\n this.isIdle = false;\n }\n}\n\nclass IdleController extends IdleComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useIdle(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nconst defaultOptions$3 = {\n dispatchEvent: true,\n eventPrefix: true,\n visibleAttribute: \"isVisible\"\n};\n\nconst useIntersection = (composableController, options = {}) => {\n const controller = composableController;\n const {dispatchEvent: dispatchEvent, eventPrefix: eventPrefix, visibleAttribute: visibleAttribute} = Object.assign({}, defaultOptions$3, options);\n const targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n if (!controller.intersectionElements) controller.intersectionElements = [];\n controller.intersectionElements.push(targetElement);\n const callback = entries => {\n const [entry] = entries;\n if (entry.isIntersecting) {\n dispatchAppear(entry);\n } else if (targetElement.hasAttribute(visibleAttribute)) {\n dispatchDisappear(entry);\n }\n };\n const observer = new IntersectionObserver(callback, options);\n const dispatchAppear = entry => {\n targetElement.setAttribute(visibleAttribute, \"true\");\n method(controller, \"appear\").call(controller, entry, observer);\n if (dispatchEvent) {\n const eventName = composeEventName(\"appear\", controller, eventPrefix);\n const appearEvent = extendedEvent(eventName, null, {\n controller: controller,\n entry: entry,\n observer: observer\n });\n targetElement.dispatchEvent(appearEvent);\n }\n };\n const dispatchDisappear = entry => {\n targetElement.removeAttribute(visibleAttribute);\n method(controller, \"disappear\").call(controller, entry, observer);\n if (dispatchEvent) {\n const eventName = composeEventName(\"disappear\", controller, eventPrefix);\n const disappearEvent = extendedEvent(eventName, null, {\n controller: controller,\n entry: entry,\n observer: observer\n });\n targetElement.dispatchEvent(disappearEvent);\n }\n };\n const controllerDisconnect = controller.disconnect.bind(controller);\n const disconnect = () => {\n unobserve();\n controllerDisconnect();\n };\n const observe = () => {\n observer.observe(targetElement);\n };\n const unobserve = () => {\n observer.unobserve(targetElement);\n };\n const noneVisible = () => controller.intersectionElements.filter((element => element.hasAttribute(visibleAttribute))).length === 0;\n const oneVisible = () => controller.intersectionElements.filter((element => element.hasAttribute(visibleAttribute))).length === 1;\n const atLeastOneVisible = () => controller.intersectionElements.some((element => element.hasAttribute(visibleAttribute)));\n const allVisible = () => controller.intersectionElements.every((element => element.hasAttribute(visibleAttribute)));\n const isVisible = allVisible;\n Object.assign(controller, {\n isVisible: isVisible,\n noneVisible: noneVisible,\n oneVisible: oneVisible,\n atLeastOneVisible: atLeastOneVisible,\n allVisible: allVisible,\n disconnect: disconnect\n });\n observe();\n return [ observe, unobserve ];\n};\n\nclass IntersectionComposableController extends Controller {}\n\nclass IntersectionController extends IntersectionComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useIntersection(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nconst useLazyLoad = (controller, options) => {\n const callback = entries => {\n const [entry] = entries;\n if (entry.isIntersecting && !controller.isLoaded) {\n handleAppear();\n }\n };\n const handleAppear = entry => {\n const src = controller.data.get(\"src\");\n if (!src) return;\n const imageElement = controller.element;\n controller.isLoading = true;\n method(controller, \"loading\").call(controller, src);\n imageElement.onload = () => {\n handleLoaded(src);\n };\n imageElement.src = src;\n };\n const handleLoaded = src => {\n controller.isLoading = false;\n controller.isLoaded = true;\n method(controller, \"loaded\").call(controller, src);\n };\n const controllerDisconnect = controller.disconnect.bind(controller);\n const observer = new IntersectionObserver(callback, options);\n const observe = () => {\n observer.observe(controller.element);\n };\n const unobserve = () => {\n observer.unobserve(controller.element);\n };\n Object.assign(controller, {\n isVisible: false,\n disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [ observe, unobserve ];\n};\n\nclass LazyLoadComposableController extends Controller {\n constructor() {\n super(...arguments);\n this.isLoading = false;\n this.isLoaded = false;\n }\n}\n\nclass LazyLoadController extends LazyLoadComposableController {\n constructor(context) {\n super(context);\n this.options = {\n rootMargin: \"10%\"\n };\n requestAnimationFrame((() => {\n const [observe, unobserve] = useLazyLoad(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nconst defaultOptions$2 = {\n mediaQueries: {},\n dispatchEvent: true,\n eventPrefix: true,\n debug: false\n};\n\nclass UseMatchMedia extends StimulusUse {\n constructor(controller, options = {}) {\n var _a, _b, _c, _d;\n super(controller, options);\n this.matches = [];\n this.callback = event => {\n const name = Object.keys(this.mediaQueries).find((name => this.mediaQueries[name] === event.media));\n if (!name) return;\n const {media: media, matches: matches} = event;\n this.changed({\n name: name,\n media: media,\n matches: matches,\n event: event\n });\n };\n this.changed = payload => {\n const {name: name} = payload;\n if (payload.event) {\n this.call(camelize(`${name}_changed`), payload);\n this.dispatch(`${name}:changed`, payload);\n this.log(`media query \"${name}\" changed`, payload);\n }\n if (payload.matches) {\n this.call(camelize(`is_${name}`), payload);\n this.dispatch(`is:${name}`, payload);\n } else {\n this.call(camelize(`not_${name}`), payload);\n this.dispatch(`not:${name}`, payload);\n }\n };\n this.observe = () => {\n Object.keys(this.mediaQueries).forEach((name => {\n const media = this.mediaQueries[name];\n const match = window.matchMedia(media);\n match.addListener(this.callback);\n this.matches.push(match);\n this.changed({\n name: name,\n media: media,\n matches: match.matches\n });\n }));\n };\n this.unobserve = () => {\n this.matches.forEach((match => match.removeListener(this.callback)));\n };\n this.controller = controller;\n this.mediaQueries = (_a = options.mediaQueries) !== null && _a !== void 0 ? _a : defaultOptions$2.mediaQueries;\n this.dispatchEvent = (_b = options.dispatchEvent) !== null && _b !== void 0 ? _b : defaultOptions$2.dispatchEvent;\n this.eventPrefix = (_c = options.eventPrefix) !== null && _c !== void 0 ? _c : defaultOptions$2.eventPrefix;\n this.debug = (_d = options.debug) !== null && _d !== void 0 ? _d : defaultOptions$2.debug;\n if (!window.matchMedia) {\n console.error(\"window.matchMedia() is not available\");\n return;\n }\n this.enhanceController();\n this.observe();\n }\n enhanceController() {\n const controllerDisconnect = this.controller.disconnect.bind(this.controller);\n const disconnect = () => {\n this.unobserve();\n controllerDisconnect();\n };\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n}\n\nconst useMatchMedia = (controller, options = {}) => {\n const observer = new UseMatchMedia(controller, options);\n return [ observer.observe, observer.unobserve ];\n};\n\nconst memoize = (controller, name, value) => {\n Object.defineProperty(controller, name, {\n value: value\n });\n return value;\n};\n\nconst useMemo = controller => {\n var _a;\n (_a = controller.constructor.memos) === null || _a === void 0 ? void 0 : _a.forEach((getter => {\n memoize(controller, getter, controller[getter]);\n }));\n};\n\nconst defineMetaGetter = (controller, metaName, suffix) => {\n const getterName = suffix ? `${camelize(metaName)}Meta` : camelize(metaName);\n Object.defineProperty(controller, getterName, {\n get() {\n return typeCast(metaValue(metaName));\n }\n });\n};\n\nfunction metaValue(name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`);\n return element && element.getAttribute(\"content\");\n}\n\nfunction typeCast(value) {\n try {\n return JSON.parse(value);\n } catch (o_O) {\n return value;\n }\n}\n\nconst useMeta = (controller, options = {\n suffix: true\n}) => {\n const metaNames = controller.constructor.metaNames;\n const suffix = options.suffix;\n metaNames === null || metaNames === void 0 ? void 0 : metaNames.forEach((metaName => {\n defineMetaGetter(controller, metaName, suffix);\n }));\n Object.defineProperty(controller, \"metas\", {\n get() {\n const result = {};\n metaNames === null || metaNames === void 0 ? void 0 : metaNames.forEach((metaName => {\n const value = typeCast(metaValue(metaName));\n if (value !== undefined && value !== null) {\n result[camelize(metaName)] = value;\n }\n }));\n return result;\n }\n });\n};\n\nclass UseMutation extends StimulusUse {\n constructor(controller, options = {}) {\n super(controller, options);\n this.observe = () => {\n try {\n this.observer.observe(this.targetElement, this.options);\n } catch (error) {\n this.controller.application.handleError(error, \"At a minimum, one of childList, attributes, and/or characterData must be true\", {});\n }\n };\n this.unobserve = () => {\n this.observer.disconnect();\n };\n this.mutation = entries => {\n this.call(\"mutate\", entries);\n this.log(\"mutate\", {\n entries: entries\n });\n this.dispatch(\"mutate\", {\n entries: entries\n });\n };\n this.targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n this.controller = controller;\n this.options = options;\n this.observer = new MutationObserver(this.mutation);\n this.enhanceController();\n this.observe();\n }\n enhanceController() {\n const controllerDisconnect = this.controller.disconnect.bind(this.controller);\n const disconnect = () => {\n this.unobserve();\n controllerDisconnect();\n };\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n}\n\nconst useMutation = (controller, options = {}) => {\n const observer = new UseMutation(controller, options);\n return [ observer.observe, observer.unobserve ];\n};\n\nclass MutationComposableController extends Controller {}\n\nclass MutationController extends MutationComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useMutation(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nconst defaultOptions$1 = {\n dispatchEvent: true,\n eventPrefix: true\n};\n\nconst useResize = (composableController, options = {}) => {\n const controller = composableController;\n const {dispatchEvent: dispatchEvent, eventPrefix: eventPrefix} = Object.assign({}, defaultOptions$1, options);\n const targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n const callback = entries => {\n const [entry] = entries;\n method(controller, \"resize\").call(controller, entry.contentRect);\n if (dispatchEvent) {\n const eventName = composeEventName(\"resize\", controller, eventPrefix);\n const appearEvent = extendedEvent(eventName, null, {\n controller: controller,\n entry: entry\n });\n targetElement.dispatchEvent(appearEvent);\n }\n };\n const controllerDisconnect = controller.disconnect.bind(controller);\n const observer = new ResizeObserver(callback);\n const observe = () => {\n observer.observe(targetElement);\n };\n const unobserve = () => {\n observer.unobserve(targetElement);\n };\n Object.assign(controller, {\n disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [ observe, unobserve ];\n};\n\nclass ResizeComposableController extends Controller {}\n\nclass ResizeController extends ResizeComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useResize(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nclass UseTargetMutation extends StimulusUse {\n constructor(controller, options = {}) {\n super(controller, options);\n this.observe = () => {\n this.observer.observe(this.targetElement, {\n subtree: true,\n characterData: true,\n childList: true,\n attributes: true,\n attributeOldValue: true,\n attributeFilter: [ this.targetSelector, this.scopedTargetSelector ]\n });\n };\n this.unobserve = () => {\n this.observer.disconnect();\n };\n this.mutation = entries => {\n for (const mutation of entries) {\n switch (mutation.type) {\n case \"attributes\":\n let newValue = mutation.target.getAttribute(mutation.attributeName);\n let oldValue = mutation.oldValue;\n if (mutation.attributeName === this.targetSelector || mutation.attributeName === this.scopedTargetSelector) {\n let oldTargets = this.targetsUsedByThisController(oldValue);\n let newTargets = this.targetsUsedByThisController(newValue);\n let removedTargets = oldTargets.filter((target => !newTargets.includes(target)));\n let addedTargets = newTargets.filter((target => !oldTargets.includes(target)));\n removedTargets.forEach((target => this.targetRemoved(this.stripIdentifierPrefix(target), mutation.target, \"attributeChange\")));\n addedTargets.forEach((target => this.targetAdded(this.stripIdentifierPrefix(target), mutation.target, \"attributeChange\")));\n }\n break;\n\n case \"characterData\":\n let nodule = this.findTargetInAncestry(mutation.target);\n if (nodule == null) {\n return;\n } else {\n let supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n supportedTargets.forEach((target => {\n this.targetChanged(this.stripIdentifierPrefix(target), nodule, \"domMutation\");\n }));\n }\n break;\n\n case \"childList\":\n let {addedNodes: addedNodes, removedNodes: removedNodes} = mutation;\n addedNodes.forEach((node => this.processNodeDOMMutation(node, this.targetAdded)));\n removedNodes.forEach((node => this.processNodeDOMMutation(node, this.targetRemoved)));\n break;\n }\n }\n };\n this.controller = controller;\n this.options = options;\n this.targetElement = controller.element;\n this.identifier = controller.scope.identifier;\n this.identifierPrefix = `${this.identifier}.`;\n this.targetSelector = controller.scope.schema.targetAttribute;\n this.scopedTargetSelector = `data-${this.identifier}-target`;\n this.targets = options.targets || controller.constructor.targets;\n this.prefixedTargets = this.targets.map((target => `${this.identifierPrefix}${target}`));\n this.observer = new MutationObserver(this.mutation);\n this.enhanceController();\n this.observe();\n }\n processNodeDOMMutation(node, initialChangeModeAssumption) {\n let nodule = node;\n let change = initialChangeModeAssumption;\n let supportedTargets = [];\n if (nodule.nodeName == \"#text\" || this.targetsUsedByThisControllerFromNode(nodule).length == 0) {\n change = this.targetChanged;\n nodule = this.findTargetInAncestry(node);\n } else {\n supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n }\n if (nodule == null) {\n return;\n } else if (supportedTargets.length == 0) {\n supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n }\n supportedTargets.forEach((target => {\n change.call(this, this.stripIdentifierPrefix(target), nodule, \"domMutation\");\n }));\n }\n findTargetInAncestry(node) {\n let nodule = node;\n let supportedTargets = [];\n if (nodule.nodeName != \"#text\") {\n supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n }\n while (nodule.parentNode !== null && nodule.parentNode != this.targetElement && supportedTargets.length == 0) {\n nodule = nodule.parentNode;\n if (nodule.nodeName !== \"#text\") {\n let supportedTargets = this.targetsUsedByThisControllerFromNode(nodule);\n if (supportedTargets.length > 0) {\n return nodule;\n }\n }\n }\n if (nodule.nodeName == \"#text\") {\n return null;\n }\n if (nodule.parentNode == null) {\n return null;\n }\n if (nodule.parentNode == this.targetElement) {\n if (this.targetsUsedByThisControllerFromNode(nodule).length > 0) {\n return nodule;\n }\n return null;\n }\n return null;\n }\n targetAdded(name, node, trigger) {\n let targetCallback = `${name}TargetAdded`;\n this.controller[targetCallback] && method(this.controller, targetCallback).call(this.controller, node);\n this.warn(\"`[target]TargetAdded` is deprecated. Please use the built-in `[target]TargetConnected()` function from Stimulus.\");\n this.log(\"targetAdded\", {\n target: name,\n node: node,\n trigger: trigger\n });\n }\n targetRemoved(name, node, trigger) {\n let targetCallback = `${name}TargetRemoved`;\n this.controller[targetCallback] && method(this.controller, targetCallback).call(this.controller, node);\n this.warn(\"`[target]TargetRemoved` is deprecated. Please use the built-in `[target]TargetDisconnected()` function from Stimulus.\");\n this.log(\"targetRemoved\", {\n target: name,\n node: node,\n trigger: trigger\n });\n }\n targetChanged(name, node, trigger) {\n let targetCallback = `${name}TargetChanged`;\n this.controller[targetCallback] && method(this.controller, targetCallback).call(this.controller, node);\n this.log(\"targetChanged\", {\n target: name,\n node: node,\n trigger: trigger\n });\n }\n targetsUsedByThisControllerFromNode(node) {\n if (node.nodeName == \"#text\" || node.nodeName == \"#comment\") {\n return [];\n }\n let nodeElement = node;\n return this.targetsUsedByThisController(nodeElement.getAttribute(this.scopedTargetSelector) || nodeElement.getAttribute(this.targetSelector));\n }\n targetsUsedByThisController(targetStr) {\n targetStr = targetStr || \"\";\n let targetsToCheck = this.stripIdentifierPrefix(targetStr).split(\" \");\n return this.targets.filter((n => targetsToCheck.indexOf(n) !== -1));\n }\n stripIdentifierPrefix(target) {\n return target.replace(new RegExp(this.identifierPrefix, \"g\"), \"\");\n }\n enhanceController() {\n const controllerDisconnect = this.controller.disconnect.bind(this.controller);\n const disconnect = () => {\n this.unobserve();\n controllerDisconnect();\n };\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n}\n\nconst useTargetMutation = (composableController, options = {}) => {\n const controller = composableController;\n const observer = new UseTargetMutation(controller, options);\n observer.warn(\"`[target]TargetAdded` and `[target]TargetRemoved` are deprecated. Please use the built-in `[target]TargetConnected()` and `[target]TargetDisconnected()` functions from Stimulus.\");\n return [ observer.observe, observer.unobserve ];\n};\n\nclass TargetMutationComposableController extends Controller {}\n\nclass TargetMutationController extends TargetMutationComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useTargetMutation(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nclass ThrottleController extends Controller {}\n\nThrottleController.throttles = [];\n\nconst defaultWait = 200;\n\nfunction throttle(func, wait = defaultWait) {\n let inThrottle;\n return function() {\n const args = arguments;\n const context = this;\n if (!inThrottle) {\n inThrottle = true;\n func.apply(context, args);\n setTimeout((() => inThrottle = false), wait);\n }\n };\n}\n\nconst useThrottle = (composableController, options = {}) => {\n var _a;\n const controller = composableController;\n const constructor = controller.constructor;\n (_a = constructor.throttles) === null || _a === void 0 ? void 0 : _a.forEach((func => {\n if (typeof func === \"string\") {\n controller[func] = throttle(controller[func], options === null || options === void 0 ? void 0 : options.wait);\n }\n if (typeof func === \"object\") {\n const {name: name, wait: wait} = func;\n if (!name) return;\n controller[name] = throttle(controller[name], wait || (options === null || options === void 0 ? void 0 : options.wait));\n }\n }));\n};\n\nconst alpineNames = {\n enterFromClass: \"enter\",\n enterActiveClass: \"enterStart\",\n enterToClass: \"enterEnd\",\n leaveFromClass: \"leave\",\n leaveActiveClass: \"leaveStart\",\n leaveToClass: \"leaveEnd\"\n};\n\nconst defaultOptions = {\n transitioned: false,\n hiddenClass: \"hidden\",\n preserveOriginalClass: true,\n removeToClasses: true\n};\n\nconst useTransition = (composableController, options = {}) => {\n var _a, _b, _c;\n const controller = composableController;\n const targetName = controller.element.dataset.transitionTarget;\n let targetFromAttribute;\n if (targetName) {\n targetFromAttribute = controller[`${targetName}Target`];\n }\n const targetElement = (options === null || options === void 0 ? void 0 : options.element) || targetFromAttribute || controller.element;\n if (!(targetElement instanceof HTMLElement || targetElement instanceof SVGElement)) return;\n const dataset = targetElement.dataset;\n const leaveAfter = parseInt(dataset.leaveAfter || \"\") || options.leaveAfter || 0;\n const {transitioned: transitioned, hiddenClass: hiddenClass, preserveOriginalClass: preserveOriginalClass, removeToClasses: removeToClasses} = Object.assign({}, defaultOptions, options);\n const controllerEnter = (_a = controller.enter) === null || _a === void 0 ? void 0 : _a.bind(controller);\n const controllerLeave = (_b = controller.leave) === null || _b === void 0 ? void 0 : _b.bind(controller);\n const controllerToggleTransition = (_c = controller.toggleTransition) === null || _c === void 0 ? void 0 : _c.bind(controller);\n async function enter(event) {\n if (controller.transitioned) return;\n controller.transitioned = true;\n controllerEnter && controllerEnter(event);\n const enterFromClasses = getAttribute(\"enterFrom\", options, dataset);\n const enterActiveClasses = getAttribute(\"enterActive\", options, dataset);\n const enterToClasses = getAttribute(\"enterTo\", options, dataset);\n const leaveToClasses = getAttribute(\"leaveTo\", options, dataset);\n if (!!hiddenClass) {\n targetElement.classList.remove(hiddenClass);\n }\n if (!removeToClasses) {\n removeClasses(targetElement, leaveToClasses);\n }\n await transition(targetElement, enterFromClasses, enterActiveClasses, enterToClasses, hiddenClass, preserveOriginalClass, removeToClasses);\n if (leaveAfter > 0) {\n setTimeout((() => {\n leave(event);\n }), leaveAfter);\n }\n }\n async function leave(event) {\n if (!controller.transitioned) return;\n controller.transitioned = false;\n controllerLeave && controllerLeave(event);\n const leaveFromClasses = getAttribute(\"leaveFrom\", options, dataset);\n const leaveActiveClasses = getAttribute(\"leaveActive\", options, dataset);\n const leaveToClasses = getAttribute(\"leaveTo\", options, dataset);\n const enterToClasses = getAttribute(\"enterTo\", options, dataset);\n if (!removeToClasses) {\n removeClasses(targetElement, enterToClasses);\n }\n await transition(targetElement, leaveFromClasses, leaveActiveClasses, leaveToClasses, hiddenClass, preserveOriginalClass, removeToClasses);\n if (!!hiddenClass) {\n targetElement.classList.add(hiddenClass);\n }\n }\n function toggleTransition(event) {\n controllerToggleTransition && controllerToggleTransition(event);\n if (controller.transitioned) {\n leave();\n } else {\n enter();\n }\n }\n async function transition(element, initialClasses, activeClasses, endClasses, hiddenClass, preserveOriginalClass, removeEndClasses) {\n const stashedClasses = [];\n if (preserveOriginalClass) {\n initialClasses.forEach((cls => element.classList.contains(cls) && cls !== hiddenClass && stashedClasses.push(cls)));\n activeClasses.forEach((cls => element.classList.contains(cls) && cls !== hiddenClass && stashedClasses.push(cls)));\n endClasses.forEach((cls => element.classList.contains(cls) && cls !== hiddenClass && stashedClasses.push(cls)));\n }\n addClasses(element, initialClasses);\n removeClasses(element, stashedClasses);\n addClasses(element, activeClasses);\n await nextAnimationFrame();\n removeClasses(element, initialClasses);\n addClasses(element, endClasses);\n await afterTransition(element);\n removeClasses(element, activeClasses);\n if (removeEndClasses) {\n removeClasses(element, endClasses);\n }\n addClasses(element, stashedClasses);\n }\n function initialState() {\n controller.transitioned = transitioned;\n if (transitioned) {\n if (!!hiddenClass) {\n targetElement.classList.remove(hiddenClass);\n }\n enter();\n } else {\n if (!!hiddenClass) {\n targetElement.classList.add(hiddenClass);\n }\n leave();\n }\n }\n function addClasses(element, classes) {\n if (classes.length > 0) {\n element.classList.add(...classes);\n }\n }\n function removeClasses(element, classes) {\n if (classes.length > 0) {\n element.classList.remove(...classes);\n }\n }\n initialState();\n Object.assign(controller, {\n enter: enter,\n leave: leave,\n toggleTransition: toggleTransition\n });\n return [ enter, leave, toggleTransition ];\n};\n\nfunction getAttribute(name, options, dataset) {\n const datasetName = `transition${name[0].toUpperCase()}${name.substr(1)}`;\n const datasetAlpineName = alpineNames[name];\n const classes = options[name] || dataset[datasetName] || dataset[datasetAlpineName] || \" \";\n return isEmpty(classes) ? [] : classes.split(\" \");\n}\n\nasync function afterTransition(element) {\n return new Promise((resolve => {\n const duration = Number(getComputedStyle(element).transitionDuration.split(\",\")[0].replace(\"s\", \"\")) * 1e3;\n setTimeout((() => {\n resolve(duration);\n }), duration);\n }));\n}\n\nasync function nextAnimationFrame() {\n return new Promise((resolve => {\n requestAnimationFrame((() => {\n requestAnimationFrame(resolve);\n }));\n }));\n}\n\nfunction isEmpty(str) {\n return str.length === 0 || !str.trim();\n}\n\nclass TransitionComposableController extends Controller {\n constructor() {\n super(...arguments);\n this.transitioned = false;\n }\n}\n\nclass TransitionController extends TransitionComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n useTransition(this, this.options);\n }));\n }\n}\n\nclass UseVisibility extends StimulusUse {\n constructor(controller, options = {}) {\n super(controller, options);\n this.observe = () => {\n this.controller.isVisible = !document.hidden;\n document.addEventListener(\"visibilitychange\", this.handleVisibilityChange);\n this.handleVisibilityChange();\n };\n this.unobserve = () => {\n document.removeEventListener(\"visibilitychange\", this.handleVisibilityChange);\n };\n this.becomesInvisible = event => {\n this.controller.isVisible = false;\n this.call(\"invisible\", event);\n this.log(\"invisible\", {\n isVisible: false\n });\n this.dispatch(\"invisible\", {\n event: event,\n isVisible: false\n });\n };\n this.becomesVisible = event => {\n this.controller.isVisible = true;\n this.call(\"visible\", event);\n this.log(\"visible\", {\n isVisible: true\n });\n this.dispatch(\"visible\", {\n event: event,\n isVisible: true\n });\n };\n this.handleVisibilityChange = event => {\n if (document.hidden) {\n this.becomesInvisible(event);\n } else {\n this.becomesVisible(event);\n }\n };\n this.controller = controller;\n this.enhanceController();\n this.observe();\n }\n enhanceController() {\n const controllerDisconnect = this.controllerDisconnect;\n const disconnect = () => {\n this.unobserve();\n controllerDisconnect();\n };\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n}\n\nconst useVisibility = (composableController, options = {}) => {\n const controller = composableController;\n const observer = new UseVisibility(controller, options);\n return [ observer.observe, observer.unobserve ];\n};\n\nclass VisibilityComposableController extends Controller {\n constructor() {\n super(...arguments);\n this.isVisible = false;\n }\n}\n\nclass VisibilityController extends VisibilityComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useVisibility(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nclass UseWindowFocus extends StimulusUse {\n constructor(controller, options = {}) {\n super(controller, options);\n this.observe = () => {\n if (document.hasFocus()) {\n this.becomesFocused();\n } else {\n this.becomesUnfocused();\n }\n this.interval = setInterval((() => {\n this.handleWindowFocusChange();\n }), this.intervalDuration);\n };\n this.unobserve = () => {\n clearInterval(this.interval);\n };\n this.becomesUnfocused = event => {\n this.controller.hasFocus = false;\n this.call(\"unfocus\", event);\n this.log(\"unfocus\", {\n hasFocus: false\n });\n this.dispatch(\"unfocus\", {\n event: event,\n hasFocus: false\n });\n };\n this.becomesFocused = event => {\n this.controller.hasFocus = true;\n this.call(\"focus\", event);\n this.log(\"focus\", {\n hasFocus: true\n });\n this.dispatch(\"focus\", {\n event: event,\n hasFocus: true\n });\n };\n this.handleWindowFocusChange = event => {\n if (document.hasFocus() && !this.controller.hasFocus) {\n this.becomesFocused(event);\n } else if (!document.hasFocus() && this.controller.hasFocus) {\n this.becomesUnfocused(event);\n }\n };\n this.controller = controller;\n this.intervalDuration = options.interval || 200;\n this.enhanceController();\n this.observe();\n }\n enhanceController() {\n const controllerDisconnect = this.controllerDisconnect;\n const disconnect = () => {\n this.unobserve();\n controllerDisconnect();\n };\n Object.assign(this.controller, {\n disconnect: disconnect\n });\n }\n}\n\nconst useWindowFocus = (composableController, options = {}) => {\n const controller = composableController;\n const observer = new UseWindowFocus(controller, options);\n return [ observer.observe, observer.unobserve ];\n};\n\nclass WindowFocusComposableController extends Controller {\n constructor() {\n super(...arguments);\n this.hasFocus = false;\n }\n}\n\nclass WindowFocusController extends WindowFocusComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useWindowFocus(this, this.options);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nconst useWindowResize = composableController => {\n const controller = composableController;\n const callback = event => {\n const {innerWidth: innerWidth, innerHeight: innerHeight} = window;\n const payload = {\n height: innerHeight || Infinity,\n width: innerWidth || Infinity,\n event: event\n };\n method(controller, \"windowResize\").call(controller, payload);\n };\n const controllerDisconnect = controller.disconnect.bind(controller);\n const observe = () => {\n window.addEventListener(\"resize\", callback);\n callback();\n };\n const unobserve = () => {\n window.removeEventListener(\"resize\", callback);\n };\n Object.assign(controller, {\n disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [ observe, unobserve ];\n};\n\nclass WindowResizeComposableController extends Controller {}\n\nclass WindowResizeController extends WindowResizeComposableController {\n constructor(context) {\n super(context);\n requestAnimationFrame((() => {\n const [observe, unobserve] = useWindowResize(this);\n Object.assign(this, {\n observe: observe,\n unobserve: unobserve\n });\n }));\n }\n}\n\nfunction useHotkeys() {\n throw \"[stimulus-use] Notice: The import for `useHotkeys()` has been moved from `stimulus-use` to `stimulus-use/hotkeys`. \\nPlease change the import accordingly and add `hotkey-js` as a dependency to your project. \\n\\nFor more information see: https://stimulus-use.github.io/stimulus-use/#/use-hotkeys?id=importing-the-behavior\";\n}\n\nexport { ApplicationController, ClickOutsideController, HoverController, IdleController, IntersectionController, LazyLoadController, MutationController, ResizeController, TargetMutationController, TransitionController, UseHover, UseMutation, UseTargetMutation, UseVisibility, UseWindowFocus, VisibilityController, WindowFocusController, WindowResizeController, debounce, useApplication, useClickOutside, useDebounce, useDispatch, useHotkeys, useHover, useIdle, useIntersection, useLazyLoad, useMatchMedia, useMemo, useMeta, useMutation, useResize, useTargetMutation, useThrottle, useTransition, useVisibility, useWindowFocus, useWindowResize };\n","import Popover from \"stimulus-popover\";\nimport { useClickOutside } from \"stimulus-use\";\nimport { computePosition, autoPlacement } from \"@floating-ui/dom\";\nimport { auto } from \"@cloudinary/url-gen/qualifiers/quality\";\n\nexport default class extends Popover {\n // static targets = this.targets.concat(['anchor'])\n static values = { placement: String, autoplacement: Boolean }\n\n connect() {\n super.connect();\n }\n\n disconnect() {\n if (this.hasCardTarget) {\n // Éviter que le truc reste là en cas de retour sur la page\n this.hide()\n }\n super.disconnect();\n }\n\n // On recopie la méthode show de Popover pour pouvoir l'adapter (ajout d'une anchor séparée)\n async show(event) {\n console.log(this.placementValue)\n event.preventDefault()\n // Temporally variable to prevent `event.currentTarget` to being null.\n let content = null;\n let anchor = this.element;\n\n if (this.hasContentTarget) {\n content = this.contentTarget.innerHTML;\n } else {\n content = await this.fetch();\n }\n\n if (!content) return;\n\n const fragment = document.createRange().createContextualFragment(content);\n\n anchor.appendChild(fragment);\n\n\n if (this.hasCardTarget) {\n // on utilise floating ui pour positionner le popover\n computePosition(anchor, this.cardTarget, {\n placement: \"bottom-start\" || \"right\", middleware: [this.autoplacementValue && autoPlacement()]\n }).then(({ x, y }) => {\n Object.assign(this.cardTarget.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n });\n // On installe le clickOutside\n useClickOutside(this, { element: this.cardTarget });\n }\n console.log(\"show\");\n }\n\n clickOutside() {\n console.log(\"clickOutside\");\n }\n\n hide(e) {\n console.log(\"hide\");\n super.hide()\n }\n\n}\n","import flatpickr from 'flatpickr';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n return function () {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (_isNativeReflectConstruct()) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n/*\nStimulus 3.0.0\nCopyright © 2021 Basecamp, LLC\n */\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\n\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach(name => values.add(name));\n return values;\n }, new Set()));\n}\n\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\n\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n\n return ancestors.reverse();\n}\n\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\n\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map(key => [key, definition[key]]) : [];\n}\n\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n\n extended.prototype = Object.create(constructor.prototype, {\n constructor: {\n value: extended\n }\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n\n const b = extendWithReflect(a);\n\n b.prototype.a = function () {};\n\n return new b();\n }\n\n try {\n testReflectExtension();\n return extendWithReflect;\n } catch (error) {\n return constructor => class extended extends constructor {};\n }\n})();\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\n\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const {\n classes\n } = this;\n\n if (classes.has(key)) {\n return classes.get(key);\n } else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n }\n\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n }\n\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n }\n\n }\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\n\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n\n if (target) {\n return target;\n } else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n }\n\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n }\n\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n }\n\n }\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, {\n [attributeName]: valueDescriptor\n });\n }, {});\n }\n\n }\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\n\nfunction propertiesForValueDefinitionPair(valueDefinitionPair) {\n const definition = parseValueDefinitionPair(valueDefinitionPair);\n const {\n key,\n name,\n reader: read,\n writer: write\n } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n\n if (value !== null) {\n return read(value);\n } else {\n return definition.defaultValue;\n }\n },\n\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n } else {\n this.data.set(key, write(value));\n }\n }\n\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n }\n\n }\n };\n}\n\nfunction parseValueDefinitionPair([token, typeDefinition]) {\n return valueDescriptorForTokenAndTypeDefinition(token, typeDefinition);\n}\n\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n\n case Boolean:\n return \"boolean\";\n\n case Number:\n return \"number\";\n\n case Object:\n return \"object\";\n\n case String:\n return \"string\";\n }\n}\n\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n\n case \"number\":\n return \"number\";\n\n case \"string\":\n return \"string\";\n }\n\n if (Array.isArray(defaultValue)) return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\") return \"object\";\n}\n\nfunction parseValueTypeObject(typeObject) {\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n\n if (typeFromObject) {\n const defaultValueType = parseValueTypeDefault(typeObject.default);\n\n if (typeFromObject !== defaultValueType) {\n throw new Error(`Type \"${typeFromObject}\" must match the type of the default value. Given default value: \"${typeObject.default}\" as \"${defaultValueType}\"`);\n }\n\n return typeFromObject;\n }\n}\n\nfunction parseValueTypeDefinition(typeDefinition) {\n const typeFromObject = parseValueTypeObject(typeDefinition);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type) return type;\n throw new Error(`Unknown value type \"${typeDefinition}\"`);\n}\n\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant) return defaultValuesByType[constant];\n const defaultValue = typeDefinition.default;\n if (defaultValue !== undefined) return defaultValue;\n return typeDefinition;\n}\n\nfunction valueDescriptorForTokenAndTypeDefinition(token, typeDefinition) {\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(typeDefinition);\n return {\n type,\n key,\n name: camelize(key),\n\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n\n reader: readers[type],\n writer: writers[type] || writers.default\n };\n}\n\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n\n boolean: false,\n number: 0,\n\n get object() {\n return {};\n },\n\n string: \"\"\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n\n if (!Array.isArray(array)) {\n throw new TypeError(\"Expected array\");\n }\n\n return array;\n },\n\n boolean(value) {\n return !(value == \"0\" || value == \"false\");\n },\n\n number(value) {\n return Number(value);\n },\n\n object(value) {\n const object = JSON.parse(value);\n\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(\"Expected object\");\n }\n\n return object;\n },\n\n string(value) {\n return value;\n }\n\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON\n};\n\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\n\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n\n static get shouldLoad() {\n return true;\n }\n\n get application() {\n return this.context.application;\n }\n\n get scope() {\n return this.context.scope;\n }\n\n get element() {\n return this.scope.element;\n }\n\n get identifier() {\n return this.scope.identifier;\n }\n\n get targets() {\n return this.scope.targets;\n }\n\n get classes() {\n return this.scope.classes;\n }\n\n get data() {\n return this.scope.data;\n }\n\n initialize() {}\n\n connect() {}\n\n disconnect() {}\n\n dispatch(eventName, {\n target = this.element,\n detail = {},\n prefix = this.identifier,\n bubbles = true,\n cancelable = true\n } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, {\n detail,\n bubbles,\n cancelable\n });\n target.dispatchEvent(event);\n return event;\n }\n\n}\n\nController.blessings = [ClassPropertiesBlessing, TargetPropertiesBlessing, ValuePropertiesBlessing];\nController.targets = [];\nController.values = {};\n\nconst kebabCase = string => string.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[\\s_]+/g, \"-\").toLowerCase();\nconst capitalize$1 = string => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst booleanOptions = ['allowInput', 'altInput', 'animate', 'clickOpens', 'closeOnSelect', 'disableMobile', 'enableSeconds', 'enableTime', 'inline', 'noCalendar', 'shorthandCurrentMonth', 'static', 'time_24hr', 'weekNumbers', 'wrap'];\nconst stringOptions = ['altInputClass', 'conjunction', 'mode', 'nextArrow', 'position', 'prevArrow', 'monthSelectorType'];\nconst numberOptions = ['defaultHour', 'defaultMinute', 'defaultSeconds', 'hourIncrement', 'minuteIncrement', 'showMonths'];\nconst arrayOptions = ['disable', 'enable', 'disableDaysOfWeek', 'enableDaysOfWeek'];\nconst arrayOrStringOptions = ['defaultDate'];\nconst dateOptions = ['maxDate', 'minDate', 'maxTime', 'minTime', 'now'];\nconst dateFormats = ['altFormat', 'ariaDateFormat', 'dateFormat'];\nconst options = {\n string: stringOptions,\n boolean: booleanOptions,\n date: dateOptions,\n array: arrayOptions,\n number: numberOptions,\n arrayOrString: arrayOrStringOptions\n};\n\nconst events = ['change', 'open', 'close', 'monthChange', 'yearChange', 'ready', 'valueUpdate', 'dayCreate'];\n\nconst elements = ['calendarContainer', 'currentYearElement', 'days', 'daysContainer', 'input', 'nextMonthNav', 'monthNav', 'prevMonthNav', 'rContainer', 'selectedDateElem', 'todayDateElem', 'weekdayContainer'];\n\nconst mapping = {\n '%Y': 'Y',\n '%y': 'y',\n '%C': 'Y',\n '%m': 'm',\n '%-m': 'n',\n '%_m': 'n',\n '%B': 'F',\n '%^B': 'F',\n '%b': 'M',\n '%^b': 'M',\n '%h': 'M',\n '%^h': 'M',\n '%d': 'd',\n '%-d': 'j',\n '%e': 'j',\n '%H': 'H',\n '%k': 'H',\n '%I': 'h',\n '%l': 'h',\n '%-l': 'h',\n '%P': 'K',\n '%p': 'K',\n '%M': 'i',\n '%S': 'S',\n '%A': 'l',\n '%a': 'D',\n '%w': 'w'\n};\nconst strftimeRegex = new RegExp(Object.keys(mapping).join('|').replace(new RegExp('\\\\^', 'g'), '\\\\^'), 'g');\nconst convertDateFormat = format => {\n return format.replace(strftimeRegex, match => {\n return mapping[match];\n });\n};\n\nlet StimulusFlatpickr = /*#__PURE__*/function (_Controller) {\n _inherits(StimulusFlatpickr, _Controller);\n\n var _super = _createSuper(StimulusFlatpickr);\n\n function StimulusFlatpickr() {\n _classCallCheck(this, StimulusFlatpickr);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(StimulusFlatpickr, [{\n key: \"initialize\",\n value: function initialize() {\n this.config = {};\n }\n }, {\n key: \"connect\",\n value: function connect() {\n this._initializeEvents();\n\n this._initializeOptions();\n\n this._initializeDateFormats();\n\n this.fp = flatpickr(this.flatpickrElement, _objectSpread2({}, this.config));\n\n this._initializeElements();\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n const value = this.inputTarget.value;\n this.fp.destroy();\n this.inputTarget.value = value;\n }\n }, {\n key: \"_initializeEvents\",\n value: function _initializeEvents() {\n events.forEach(event => {\n if (this[event]) {\n const hook = `on${capitalize$1(event)}`;\n this.config[hook] = this[event].bind(this);\n }\n });\n }\n }, {\n key: \"_initializeOptions\",\n value: function _initializeOptions() {\n Object.keys(options).forEach(optionType => {\n const optionsCamelCase = options[optionType];\n optionsCamelCase.forEach(option => {\n const optionKebab = kebabCase(option);\n\n if (this.data.has(optionKebab)) {\n this.config[option] = this[`_${optionType}`](optionKebab);\n }\n });\n });\n\n this._handleDaysOfWeek();\n }\n }, {\n key: \"_handleDaysOfWeek\",\n value: function _handleDaysOfWeek() {\n if (this.config.disableDaysOfWeek) {\n this.config.disableDaysOfWeek = this._validateDaysOfWeek(this.config.disableDaysOfWeek);\n this.config.disable = [...(this.config.disable || []), this._disable.bind(this)];\n }\n\n if (this.config.enableDaysOfWeek) {\n this.config.enableDaysOfWeek = this._validateDaysOfWeek(this.config.enableDaysOfWeek);\n this.config.enable = [...(this.config.enable || []), this._enable.bind(this)];\n }\n }\n }, {\n key: \"_validateDaysOfWeek\",\n value: function _validateDaysOfWeek(days) {\n if (Array.isArray(days)) {\n return days.map(day => parseInt(day));\n } else {\n console.error('days of week must be a valid array');\n return [];\n }\n }\n }, {\n key: \"_disable\",\n value: function _disable(date) {\n const disabledDays = this.config.disableDaysOfWeek;\n return disabledDays.includes(date.getDay());\n }\n }, {\n key: \"_enable\",\n value: function _enable(date) {\n const enabledDays = this.config.enableDaysOfWeek;\n return enabledDays.includes(date.getDay());\n }\n }, {\n key: \"_initializeDateFormats\",\n value: function _initializeDateFormats() {\n dateFormats.forEach(dateFormat => {\n if (this.data.has(dateFormat)) {\n this.config[dateFormat] = convertDateFormat(this.data.get(dateFormat));\n }\n });\n }\n }, {\n key: \"_initializeElements\",\n value: function _initializeElements() {\n elements.forEach(element => {\n this[`${element}Target`] = this.fp[element];\n });\n }\n }, {\n key: \"_string\",\n value: function _string(option) {\n return this.data.get(option);\n }\n }, {\n key: \"_date\",\n value: function _date(option) {\n return this.data.get(option);\n }\n }, {\n key: \"_boolean\",\n value: function _boolean(option) {\n return !(this.data.get(option) == '0' || this.data.get(option) == 'false');\n }\n }, {\n key: \"_array\",\n value: function _array(option) {\n return JSON.parse(this.data.get(option));\n }\n }, {\n key: \"_number\",\n value: function _number(option) {\n return parseInt(this.data.get(option));\n }\n }, {\n key: \"_arrayOrString\",\n value: function _arrayOrString(option) {\n const val = this.data.get(option);\n\n try {\n return JSON.parse(val);\n } catch (e) {\n return val;\n }\n }\n }, {\n key: \"flatpickrElement\",\n get: function () {\n return this.hasInstanceTarget && this.instanceTarget || this.element;\n }\n }]);\n\n return StimulusFlatpickr;\n}(Controller);\n\n_defineProperty(StimulusFlatpickr, \"targets\", ['instance']);\n\nexport default StimulusFlatpickr;\n//# sourceMappingURL=index.m.js.map\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.fr = {}));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined\n ? window.flatpickr\n : {\n l10ns: {},\n };\n var French = {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"dim\", \"lun\", \"mar\", \"mer\", \"jeu\", \"ven\", \"sam\"],\n longhand: [\n \"dimanche\",\n \"lundi\",\n \"mardi\",\n \"mercredi\",\n \"jeudi\",\n \"vendredi\",\n \"samedi\",\n ],\n },\n months: {\n shorthand: [\n \"janv\",\n \"févr\",\n \"mars\",\n \"avr\",\n \"mai\",\n \"juin\",\n \"juil\",\n \"août\",\n \"sept\",\n \"oct\",\n \"nov\",\n \"déc\",\n ],\n longhand: [\n \"janvier\",\n \"février\",\n \"mars\",\n \"avril\",\n \"mai\",\n \"juin\",\n \"juillet\",\n \"août\",\n \"septembre\",\n \"octobre\",\n \"novembre\",\n \"décembre\",\n ],\n },\n ordinal: function (nth) {\n if (nth > 1)\n return \"\";\n return \"er\";\n },\n rangeSeparator: \" au \",\n weekAbbreviation: \"Sem\",\n scrollTitle: \"Défiler pour augmenter la valeur\",\n toggleTitle: \"Cliquer pour basculer\",\n time_24hr: true,\n };\n fp.l10ns.fr = French;\n var fr = fp.l10ns;\n\n exports.French = French;\n exports.default = fr;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","import Flatpickr from \"stimulus-flatpickr\";\n\n// you can also import a translation file\nimport { French } from \"flatpickr/dist/l10n/fr.js\";\n\n// import a theme (could be in your main CSS entry too...)\n// import 'flatpickr/dist/themes/dark.css'\n\n// create a new Stimulus controller by extending stimulus-flatpickr wrapper controller\nexport default class extends Flatpickr {\n initialize() {\n // sets your language (you can also set some global setting for all time pickers)\n this.config = {\n locale: French,\n };\n }\n\n // all flatpickr hooks are available as callbacks in your Stimulus controller\n // change(selectedDates, dateStr, instance) {\n // console.log('the callback returns the selected dates', selectedDates)\n // console.log('but returns it also as a string', dateStr)\n // console.log('and the flatpickr instance', instance)\n // }\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.weekSelect = factory());\n}(this, (function () { 'use strict';\n\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n function weekSelectPlugin() {\n return function (fp) {\n function onDayHover(event) {\n var day = getEventTarget(event);\n if (!day.classList.contains(\"flatpickr-day\"))\n return;\n var days = fp.days.childNodes;\n var dayIndex = day.$i;\n var dayIndSeven = dayIndex / 7;\n var weekStartDay = days[7 * Math.floor(dayIndSeven)]\n .dateObj;\n var weekEndDay = days[7 * Math.ceil(dayIndSeven + 0.01) - 1].dateObj;\n for (var i = days.length; i--;) {\n var day_1 = days[i];\n var date = day_1.dateObj;\n if (date > weekEndDay || date < weekStartDay)\n day_1.classList.remove(\"inRange\");\n else\n day_1.classList.add(\"inRange\");\n }\n }\n function highlightWeek() {\n var selDate = fp.latestSelectedDateObj;\n if (selDate !== undefined &&\n selDate.getMonth() === fp.currentMonth &&\n selDate.getFullYear() === fp.currentYear) {\n fp.weekStartDay = fp.days.childNodes[7 * Math.floor(fp.selectedDateElem.$i / 7)].dateObj;\n fp.weekEndDay = fp.days.childNodes[7 * Math.ceil(fp.selectedDateElem.$i / 7 + 0.01) - 1].dateObj;\n }\n var days = fp.days.childNodes;\n for (var i = days.length; i--;) {\n var date = days[i].dateObj;\n if (date >= fp.weekStartDay && date <= fp.weekEndDay)\n days[i].classList.add(\"week\", \"selected\");\n }\n }\n function clearHover() {\n var days = fp.days.childNodes;\n for (var i = days.length; i--;)\n days[i].classList.remove(\"inRange\");\n }\n function onReady() {\n if (fp.daysContainer !== undefined)\n fp.daysContainer.addEventListener(\"mouseover\", onDayHover);\n }\n function onDestroy() {\n if (fp.daysContainer !== undefined)\n fp.daysContainer.removeEventListener(\"mouseover\", onDayHover);\n }\n return {\n onValueUpdate: highlightWeek,\n onMonthChange: highlightWeek,\n onYearChange: highlightWeek,\n onOpen: highlightWeek,\n onClose: clearHover,\n onParseConfig: function () {\n fp.config.mode = \"single\";\n fp.config.enableTime = false;\n fp.config.dateFormat = fp.config.dateFormat\n ? fp.config.dateFormat\n : \"\\\\W\\\\e\\\\e\\\\k #W, Y\";\n fp.config.altFormat = fp.config.altFormat\n ? fp.config.altFormat\n : \"\\\\W\\\\e\\\\e\\\\k #W, Y\";\n },\n onReady: [\n onReady,\n highlightWeek,\n function () {\n fp.loadedPlugins.push(\"weekSelect\");\n },\n ],\n onDestroy: onDestroy,\n };\n };\n }\n\n return weekSelectPlugin;\n\n})));\n","import baseFlatpickrController from \"./flatpickr_controller\";\nimport weekSelect from \"flatpickr/dist/plugins/weekSelect/weekSelect.js\";\n\n// Ce qu'on fait ici : on étend le contrôleur de base pour ajouter le plugin weekSelect\n\nexport default class extends baseFlatpickrController {\n initialize() {\n super.initialize();\n this.config.plugins = [new weekSelect({})];\n this.config.onChange = [\n function () {\n // on envoie le lundi de la semaine sélectionnée, la semaine commencera avec lui\n var date = this.selectedDates[0];\n date.setDate(\n date.getDate() - ((date.getDay() + 6) % 7)\n );\n console.log(date);\n this.setDate([date]);\n },\n ];\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\nimport { useClickOutside } from \"stimulus-use\";\nimport { computePosition, autoPlacement, autoUpdate } from \"@floating-ui/dom\";\n\nexport default class extends Controller {\n static targets = [\"card\", \"content\"]\n static values = {\n placement: String,\n autoplacement: Boolean,\n updateOnScroll: Boolean,\n }\n\n\n get anchor() {\n return this.element.closest(\"#floating_menu_anchor\")\n }\n\n disconnect() {\n this.hide()\n }\n\n position() {\n computePosition(this.element, this.menu, {\n placement: this.placementValue || \"right\", middleware: [this.autoplacementValue && autoPlacement()]\n }).then(({ x, y }) => {\n Object.assign(this.menu.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n });\n }\n\n async show(event) {\n event.preventDefault()\n\n const content = this.contentTarget.innerHTML;\n const fragment = document.createRange().createContextualFragment(content);\n this.anchor.appendChild(fragment);\n this.menu = this.anchor.querySelector(\"[data-floating-menu-target='menu']\");\n this.menu.onclick = () => { setTimeout(() => this.menu.remove(), 10) }\n if (this.menu) {\n if (this.updateOnScrollValue) {\n this.cleanup = autoUpdate(this.element, this.menu, () => {\n console.log(\"update\")\n this.position()\n })\n } else {\n this.position()\n }\n useClickOutside(this, { element: this.menu });\n }\n }\n\n clickOutside() {\n this.hide()\n }\n\n hide() {\n if (this.cleanup) {\n this.cleanup()\n this.cleanup = null\n }\n if (this.menu) {\n this.menu.remove()\n }\n }\n\n}\n","import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n connect() {\n this.element.textContent = \"Hello World!\"\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n\n static targets = [\"hidden\", \"visible\", \"formField\"]\n connect() {\n this.synchronize()\n }\n\n wrapLogicalSyntax(text) {\n const wrapLogic = (text) => `<span class=\"text-blue-400\">${text}</span>`;\n const wrapVariable = (variable) => `<span class=\"text-emerald-400\">${variable}</span>`;\n\n // Helper function for balanced bracket parsing\n function parseBalancedExpressions(text) {\n\n // Process ALEA syntax\n let processed = text.replace(/ALEA\\{(.*?)\\}/g, (match, content) => {\n const wrappedContent = content.replace(/\\|/g, wrapLogic('|'));\n return wrapLogic('ALEA{') + wrappedContent + wrapLogic('}');\n });\n\n let result = '';\n let i = 0;\n\n while (i < processed.length) {\n // Check if we have a logical expression\n if (processed.substring(i).startsWith('?{(')) {\n let conditionStart = i + 3; // Skip past \"?{(\"\n let parenLevel = 1;\n let conditionEnd = conditionStart;\n\n // Find the end of the condition\n while (parenLevel > 0 && conditionEnd < processed.length) {\n if (processed[conditionEnd] === '(') parenLevel++;\n if (processed[conditionEnd] === ')') parenLevel--;\n conditionEnd++;\n }\n\n if (parenLevel !== 0) {\n // Unmatched parentheses, just include the text as is\n result += processed.substring(i);\n break;\n }\n\n // Extract and process the condition\n const condition = processed.substring(conditionStart, conditionEnd - 1);\n\n // Find the matching closing brace for the entire expression\n let braceStart = conditionEnd;\n let braceLevel = 1;\n let expressionEnd = braceStart;\n\n while (braceLevel > 0 && expressionEnd < processed.length) {\n // Check for nested expressions\n if (processed.substring(expressionEnd).startsWith('?{(')) {\n braceLevel++;\n expressionEnd += 3; // Skip past \"?{(\"\n } else if (processed[expressionEnd] === '{') {\n braceLevel++;\n expressionEnd++;\n } else if (processed[expressionEnd] === '}') {\n braceLevel--;\n expressionEnd++;\n } else {\n expressionEnd++;\n }\n }\n\n if (braceLevel !== 0) {\n // Unmatched braces, include as is\n result += processed.substring(i);\n break;\n }\n\n // Process the inner content (excluding the closing brace)\n const body = processed.substring(braceStart, expressionEnd - 1);\n const processedBody = parseBalancedExpressions(body);\n\n // Add the wrapped expression to the result\n result += wrapLogic('?{(' + condition + ')') + processedBody + wrapLogic('}');\n\n // Move the index past this expression\n i = expressionEnd;\n } else {\n // Regular text, add it to the result\n result += processed[i];\n i++;\n }\n\n // Process variables first\n\n }\n\n result = result.replace(/\\$(\\b[A-Z_]+\\b)/g, (match, varName) => {\n return wrapVariable(`$${varName}`);\n });\n\n\n return result;\n }\n\n\n return parseBalancedExpressions(text);\n }\n\n synchronize() {\n console.log(\"Sync\")\n this.visibleTarget.innerHTML = this.wrapLogicalSyntax(this.hiddenTarget.innerHTML);\n };\n\n decodeHTML() {\n console.log(\"Correct\")\n let content = this.hiddenTarget.innerHTML\n .replace(/<div>/g, '\\n')\n .replace(/<br>/g, '\\n')\n .replace(/<[^>]*>?/gm, '')\n .replace('\\n\\n\\n', '\\n\\n');\n var tempElement = document.createElement('textarea');\n tempElement.innerHTML = content;\n this.formFieldTarget.value = tempElement.value;\n }\n\n scrollMirror() {\n this.visibleTarget.scrollTo(this.hiddenTarget.scrollLeft, this.hiddenTarget.scrollTop);\n };\n\n handleKey(ev) {\n if (ev.key === \"Enter\" && !ev.shiftKey) {\n // prevent Enter key behavior (new-line)\n ev.preventDefault();\n\n // Check message to send...\n const message = this.hiddenTarget.innerHTML;\n if (!message.trim()) {\n return; // Nothing to submit. Message is empty\n }\n\n // YOUR SUBMIT LOGIC GOES HERE:\n console.log(message);\n\n // Clear fields:\n this.hiddenTarget.innerHTML = \"\";\n this.visibleTarget.innerHTML = \"\";\n } else {\n // Any other key: (scroll areas is necessary)\n scrollMirror(this.hiddenTarget, this.visibleTarget);\n }\n };\n}\n","import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\n \"targetList\", \n \"previewObject\", \n \"previewBody\", \n \"recipientsInput\", \n \"targetEmail\", \n \"targetName\", \n \"addTargetForm\", \n \"sendMailForm\"\n ]\n\n connect() {\n this.recipients = []\n this.resetPreview()\n }\n\n addRecipient(event) {\n event.preventDefault()\n const email = this.targetEmailTarget.value.trim()\n const name = this.targetNameTarget.value.trim()\n\n if (email && name) {\n this.recipients.push({ email: email, nom: name })\n\n const listItem = document.createElement('li')\n listItem.classList.add('flex', 'justify-between', 'items-center', 'p-2', 'bg-white', 'shadow', 'rounded')\n listItem.innerHTML = `\n <span>${name} <${email}></span>\n <button type=\"button\" data-action=\"click->mail-templates#removeTarget\" class=\"remove-target text-red-500\">Supprimer</button>\n `\n this.targetListTarget.appendChild(listItem)\n\n this.addTargetFormTarget.reset()\n this.resetPreview()\n }\n }\n\n removeTarget(event) {\n const listItem = event.target.closest('li')\n const index = Array.from(this.targetListTarget.children).indexOf(listItem)\n this.recipients.splice(index, 1)\n listItem.remove()\n this.resetPreview()\n }\n\n sendMail(event) {\n if (this.recipients.length === 0) {\n event.preventDefault()\n alert('Veuillez ajouter au moins un destinataire.')\n return\n }\n this.recipientsInputTarget.value = JSON.stringify(this.recipients)\n }\n\n resetPreview() {\n const objectTemplate = JSON.parse(this.data.get(\"objectTemplate\"))\n const bodyTemplate = JSON.parse(this.data.get(\"bodyTemplate\"))\n\n this.previewObjectTarget.textContent = objectTemplate.replace(/\\$NOM/g, '$NOM')\n this.previewBodyTarget.textContent = bodyTemplate.replace(/\\$NOM/g, '$NOM')\n }\n}","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"results\", \"loadMoreButton\", \"step1\", \"step2\"];\n\n connect() {\n this.selectedContentIds = JSON.parse(this.data.get(\"selectedIds\")) || [];\n console.log(this.selectedContentIds);\n console.log('Mode:', this.data.get('mode'));\n }\n\n goToStep2(event) {\n event.preventDefault();\n this.step1Target.style.display = 'none';\n this.step2Target.style.display = 'block';\n this.updateCheckboxStates();\n }\n\n returnStep1(event) {\n event.preventDefault();\n this.step1Target.style.display = 'block';\n this.step2Target.style.display = 'none';\n }\n\n loadMore(event) {\n event.preventDefault();\n const nextPage = this.loadMoreButtonTarget.dataset.nextPage;\n if (!nextPage) return;\n\n const mode = this.data.get('mode');\n const companyId = this.data.get('companyId');\n const newsletterId = this.data.get('newsletterId');\n\n let url;\n if (mode === 'new') {\n url = `/dashboard/companies/${companyId}/newsletters/new_infinite_scroll_suggested_contents?page=${nextPage}`;\n } else {\n url = `/dashboard/companies/${companyId}/newsletters/${newsletterId}/infinite_scroll_suggested_contents?page=${nextPage}`;\n }\n\n fetch(url, { headers: { 'Accept': 'text/vnd.turbo-stream.html' } })\n .then(response => response.text())\n .then(html => {\n this.resultsTarget.insertAdjacentHTML('beforeend', html);\n this.updateCheckboxStates();\n this.loadMoreButtonTarget.dataset.nextPage = parseInt(nextPage, 10) + 1;\n })\n .catch(error => console.error('Error:', error));\n }\n\n updateSelectedContentIds(event) {\n const checkbox = event.target;\n const contentId = parseInt(checkbox.value, 10);\n\n if (isNaN(contentId) || contentId <= 0) {\n return;\n }\n\n if (checkbox.checked) {\n if (this.selectedContentIds.length >= 3) {\n alert('Vous ne pouvez pas sélectionner plus de trois contenus');\n checkbox.checked = false;\n return;\n }\n this.selectedContentIds.push(contentId);\n } else {\n const index = this.selectedContentIds.indexOf(contentId);\n if (index > -1) {\n this.selectedContentIds.splice(index, 1);\n }\n }\n this.updateCheckboxStates();\n }\n\n updateCheckboxStates() {\n this.resultsTarget.querySelectorAll('input[name=\"newsletter[company_content_ids][]\"]').forEach(checkbox => {\n const contentId = parseInt(checkbox.value, 10);\n const parentDiv = checkbox.closest('div');\n if (this.selectedContentIds.includes(contentId)) {\n checkbox.checked = true;\n parentDiv.classList.remove('border-border-brand_focus');\n parentDiv.classList.add('border-gray-500', 'shadow-2xl');\n } else {\n checkbox.checked = false;\n parentDiv.classList.remove('border-gray-500', 'shadow-2xl');\n parentDiv.classList.add('border-border-brand_focus');\n }\n });\n }\n\n submitForm(event) {\n event.preventDefault();\n const form = document.getElementById('form');\n const existingHiddenInputs = document.querySelectorAll('input[type=\"hidden\"][name=\"newsletter[company_content_ids][]\"]');\n existingHiddenInputs.forEach(input => input.remove());\n\n this.selectedContentIds.forEach(id => {\n if (id) {\n const hiddenInput = document.createElement('input');\n hiddenInput.type = 'hidden';\n hiddenInput.name = 'newsletter[company_content_ids][]';\n hiddenInput.value = id;\n form.appendChild(hiddenInput);\n }\n });\n\n form.submit();\n }\n\n async performSearch(event) {\n event.preventDefault();\n const query = document.getElementById('searchQuery').value;\n const token = document.querySelector('meta[name=\"csrf-token\"]').content;\n if (!query.trim()) return;\n const url = `/newsletters/search`;\n\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'X-CSRF-Token': token\n },\n body: JSON.stringify({ query })\n });\n\n if (response.ok) {\n const html = await response.text();\n this.resultsTarget.innerHTML = html;\n this.updateCheckboxStates();\n } else {\n console.error('Search request failed', response);\n }\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"sourceNode\", \"container\"]\n\n\n addNode() {\n this.containerTarget.appendChild(this.sourceNodeTarget.cloneNode(true))\n }\n\n\n}\n","import React from \"react\";\nimport { useIntl } from 'react-intl';\n\n// Since it's not included in heroicons, we build them here\n// source : https://simpleicons.org/\n\ntype Props = { color?: string, [key: string]: any; };\n\nexport function FacebookLogo({ color, ...props }: Props) {\n return (\n <svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <title>Facebook</title>\n <path\n d=\"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z\"\n />\n </svg>\n );\n}\n\nexport function TwitterLogo({ color, ...props }: Props) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" viewBox=\"0 0 512 512\" {...props}>\n <title>Twitter</title>\n <path\n d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"\n />\n </svg>\n );\n}\n\nexport function TikTokLogo({ color, ...props }: Props) {\n return (\n <svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <title>TikTok</title>\n <path\n d=\"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z\"\n fill=\"#1E3050\"\n />\n </svg>\n );\n}\n\nexport function LinkedinLogo({ color, ...props }: Props) {\n return (\n <svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <title>LinkedIn</title>\n <path\n d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"\n />\n </svg>\n );\n}\n\nexport function PinterestLogo({ color, ...props }: Props) {\n return (\n <svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <title>Pinterest</title>\n <path\n d=\"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z\"\n />\n </svg>\n );\n}\n\nexport function GoogleLogo({ color, ...props }: Props) {\n return (\n <svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <title>Google</title>\n <path\n d=\"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z\"\n />\n </svg>\n );\n}\n\nexport function InstagramLogo({ color, ...props }: Props) {\n return (\n <svg role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <title>Instagram</title>\n <path\n d=\"M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z\"\n />\n </svg>\n );\n}\n","import React, { useState } from \"react\";\nimport { UseFormRegister } from \"react-hook-form/dist/types\";\nimport {\n GoogleLogo,\n FacebookLogo,\n LinkedinLogo,\n TikTokLogo,\n TwitterLogo,\n PinterestLogo,\n InstagramLogo,\n} from \"./channelIcons\";\n\ntype Props = {\n selected: Array<string>; // car l'input renvoie des strings de nombre\n channels: { identifier: string; id: number }[];\n register: UseFormRegister<any>;\n inputName: string;\n};\n\nfunction ChannelSelector({ register, channels, inputName, selected }: Props) {\n return (\n <div className=\"my-2 space-x-4 flex flex-wrap\">\n {channels.map(\n ({ identifier, id }: { identifier: string; id: number }) => {\n return (\n <label\n key={id}\n className={`flex items-center relative cursor-pointer`}\n >\n <ChannelLogo\n identifier={identifier}\n active={selected.includes(id.toString())}\n />\n <input\n {...register(inputName)}\n className=\"hidden\"\n value={id}\n type=\"checkbox\"\n />\n </label>\n );\n }\n )}\n </div>\n );\n}\n\nexport const ChannelLogo = ({\n identifier,\n active,\n size,\n ...props\n}: {\n identifier: string;\n active: boolean;\n size?: number;\n [key: string]: any;\n}) => {\n const stringifySize = `w-${size} h-${size}`\n switch (identifier) {\n case \"google_my_business\":\n return (\n <GoogleLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-google\"\n : \"fill-gray-400 opacity-60 hover:fill-google\"\n }`}\n />\n );\n case \"facebook\":\n return (\n <FacebookLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-facebook\"\n : \"fill-gray-400 opacity-60 hover:fill-facebook\"\n }`}\n />\n );\n case \"linkedin\":\n return (\n <LinkedinLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-linkedin\"\n : \"fill-gray-400 opacity-60 hover:fill-linkedin\"\n }`}\n />\n );\n case \"instagram\":\n return (\n <InstagramLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-instagram\"\n : \"fill-gray-400 opacity-60 hover:fill-instagram\"\n }`}\n />\n );\n case \"pinterest\":\n return (\n <PinterestLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-pinterest\"\n : \"fill-gray-400 opacity-60 hover:fill-pinterest\"\n }`}\n />\n );\n case \"tiktok\":\n return (\n <TikTokLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-tiktok\"\n : \"fill-gray-400 opacity-60 hover:fill-tiktok\"\n }`}\n />\n );\n case \"twitter\":\n return (\n <TwitterLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-twitter\"\n : \"fill-gray-400 opacity-60\"\n }`}\n />\n );\n default:\n return (\n <FacebookLogo\n className={`${size ? stringifySize : \"w-6 h-6\"} ${\n active\n ? \"fill-facebook\"\n : \"fill-gray-400 opacity-60 hover:fill-facebook\"\n }`}\n />\n );\n }\n};\n\n// Composant\n\nexport default ChannelSelector;\n","import React, { ReactNode, useState } from \"react\";\nimport { Controller, useForm, useFormContext } from \"react-hook-form\";\nimport { request, gql, GraphQLClient } from \"graphql-request\";\nimport ChannelSelector from \"../ChannelSelector\";\nimport ContentMediaUploader from \"../ContentMediaUploader\";\nimport FacebookPreview from \"../FacebookPreview\";\nimport FocusSelector from \"../FocusSelector\";\nimport InsertableTextInput from \"../InsertableTextInput\";\nimport Select from \"../Select\";\nimport TagSelector from \"../TagSelector\";\nimport { getCSRFToken, formatMediaHolders } from \"../utils/various\";\nimport { BoltIcon, ExclamationTriangleIcon } from \"@heroicons/react/24/solid\";\nimport {\n Channel,\n ContentMedium,\n isPersisted,\n PostGenerator,\n TagGroup,\n MediaHolder\n} from \"../../types\";\nimport DatePicker from \"../DatePicker\";\nimport FormField from \"../FormField\";\nimport UrlScraper from \"../UrlScraper\";\nimport FormLayout from \"../FormLayout\";\nimport Input from \"../Input\";\nimport TextArea from \"../TextArea\";\nimport Spinner from \"../Spinner\";\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport ChoiceButton from \"../ChoiceButton\";\nimport { useOpenAI } from \"../../hook/useOpenAI\";\nimport { useUserChoice } from \"../../hook/useUserChoice\";\nimport OpenAiForm from \"../OpenAiForm\";\n\n\ntype Props = {\n post_generator: PostGenerator;\n tag_groups: TagGroup[];\n example_account: {\n displayed_name: string;\n picture_url: string;\n company: {\n email: string;\n company: string;\n phone: string;\n hashtag: string;\n website: string;\n full_name: string;\n client_code: string;\n };\n };\n channels: Channel[];\n content_dispenser?: { id: number };\n read_only?: boolean;\n periodicity_options: Record<string, string>;\n current_company: any;\n};\n\nexport default function PostGeneratorForm(props: Props) {\n const minDate = new Date();\n const maxDate = new Date();\n const defaultStartingAt = new Date();\n minDate.setMinutes(minDate.getMinutes() + 5);\n maxDate.setMonth(maxDate.getMonth() + 2);\n defaultStartingAt.setHours(defaultStartingAt.getHours() + 1);\n const [submitted, setSubmitted] = useState(false)\n const [prompt, setPrompt] = useState<string>(\"\");\n const [showInputMessage, setShowInputMessage] = useState<boolean | null>(false);\n const [loading, setLoading] = useState(false);\n const { content, ...post_generator } = props.post_generator;\n const { body = { body_media: [] }, ...content_attributes } = content;\n const {\n register,\n handleSubmit,\n getValues,\n watch,\n control,\n formState: { errors, isSubmitted },\n setValue,\n trigger,\n } = useForm({\n defaultValues: {\n post_generator: {\n ...post_generator,\n starting_at: post_generator.starting_at\n ? new Date(post_generator.starting_at)\n : null,\n channel_ids: post_generator.channel_ids.map((c) => c.toString()), // select only giving strings\n content_attributes,\n },\n },\n });\n\n // content_media.map((cm, i) => ({...cm, position: i})) pour ajouter les positions de force, mais ptet pas besoin\n const [media, setMedia] = useState(\n body.body_media\n .filter((m: MediaHolder) => m.content_medium.serialized_file)\n .sort(\n (a: MediaHolder, b: MediaHolder) =>\n (a.position || 0) - (b.position || 0)\n // Si undefined on met la valeur max (media.length)\n ) || []\n );\n\n const ctaOptions = [\n { label: \"Commander\", value: \"order_now\" },\n { label: \"Acheter\", value: \"shop_now\" },\n { label: \"En savoir plus\", value: \"learn_more\" },\n { label: \"S'inscrire\", value: \"sign_up\" },\n { label: \"Appeler\", value: \"call_now\" },\n { label: \"Nous contacter\", value: \"contact_us\" },\n ];\n\n const periodicityOptions = Object.entries(props.periodicity_options).map(\n ([key, value]) => ({ label: value, value: key })\n ).filter(opt => opt.value !== 'publish_now');\n\n const readonly = Boolean(props.read_only);\n\n const graphQLClient = new GraphQLClient('/graphql/', { headers: { \"X-CSRF-Token\": getCSRFToken() } })\n\n const onSubmit = async (data: any) => {\n setSubmitted(true)\n\n\n\n const bodyMedia = formatMediaHolders(media)\n\n\n const mutation = gql`\n mutation ($postGenerator: PostGenerator${post_generator.id ? 'Update' : ''}Input!) {\n ${post_generator.id ? 'update' : 'create'}PostGenerator(input: {postGenerator:$postGenerator}) {\n postGenerator {\n content {\n body {\n id\n message\n contentMedia {\n medium\n }\n }\n }\n }\n }\n }`\n\n const variables = {\n postGenerator: {\n content: {\n id: data.post_generator.content_attributes.id || undefined,\n ...(data.post_generator.content_attributes.tag_ids ? { tagIds: data.post_generator.content_attributes.tag_ids } : {}),\n focus: data.post_generator.content_attributes.focus,\n expiresAt: data.post_generator.content_attributes.expires_at,\n title: data.post_generator.content_attributes.title,\n reconstructedUrl: data.post_generator.content_attributes.reconstructed_url,\n body: {\n //...(\"id\" in body && { id: body.id }),\n message: data.post_generator.content_attributes.teaser,\n linkCta: data.post_generator.content_attributes.cta,\n linkUrl: data.post_generator.content_attributes.reconstructed_url,\n linkDescription: data.post_generator.content_attributes.description,\n bodyMediaAttributes: bodyMedia\n }\n },\n periodicity: data.post_generator.periodicity,\n startingAt: data.post_generator.starting_at,\n channelIds: data.post_generator.channel_ids,\n ...(props.content_dispenser && !data.post_generator.id ? { author: { id: props.content_dispenser.id, type: \"ContentDispenser\" } } : {}),\n ...(data.post_generator.id ? { id: data.post_generator.id } : {}),\n }\n }\n\n const response: any = await graphQLClient.request(mutation, variables)\n if (!response.errors) {\n window.Turbo?.visit(\n props.content_dispenser\n ? `/${intl.locale}/content_dispensers/${props.content_dispenser.id}/post_generators`\n : `/${intl.locale}/posts?display=calendar`\n );\n }\n setSubmitted(false)\n };\n\n const duplicateWithOwnership = async () => {\n const { id } = content;\n if (id) {\n const response = await fetch(`/contents/${id}/duplicate_with_ownership`, {\n method: \"POST\",\n headers: {\n \"X-CSRF-Token\": getCSRFToken(),\n },\n });\n if (response.ok) {\n const newContent = await response.json();\n window.Turbo?.visit(\n `/post_generators/new?instantiate_from[type]=content&instantiate_from[id]=${newContent.id}`\n );\n }\n }\n };\n\n const focus = watch(\"post_generator.content_attributes.focus\");\n const channel_ids = watch(\"post_generator.channel_ids\");\n const teaser = watch(\"post_generator.content_attributes.teaser\");\n const description = watch(\"post_generator.content_attributes.description\");\n const reconstructed_url = watch(\n \"post_generator.content_attributes.reconstructed_url\"\n );\n const previewCta = ctaOptions.find(\n (cta) => cta.value === watch(\"post_generator.content_attributes.cta\")\n )?.label;\n\n const videoPresent =\n media.filter((m) => m.content_medium.serialized_file.resource_type === \"video\").length > 0;\n const imagesPresent =\n media.filter((m) => m.content_medium.serialized_file.resource_type === \"image\").length > 0;\n\n const intl = useIntl()\n\n const [selectedOption, setSelectedOption] = useState('periodicity_planification');\n const [previousPeriodicity, setPreviousPeriodicity] = useState(post_generator.periodicity)\n const [previousStartingAt, setPreviousStartingAt] = useState(post_generator.starting_at)\n\n\n const handleOptionChange = (value: string) => {\n setSelectedOption(value);\n };\n\n const generateFocusHint = () => {\n switch (focus) {\n case \"images\":\n return \"Limites au nombre d'images -> Facebook/Instagram: 10, Linkedin: 9, Pinterest: 5, Twitter: 4, Google: 1.\"\n case \"image\":\n return \"âš ï¸ Image obligatoire pour publier sur Instagram et Pinterest\"\n default:\n return \"\";\n }\n }\n\n const { SubmitOpenAI, disabledInput, error } = useOpenAI(\n prompt,\n loading,\n setLoading,\n media.map((m) => m.content_medium),\n setValue,\n setShowInputMessage,\n getValues,\n \"post_generator.content_attributes.teaser\",\n `/body/openai_call`\n );\n\n const { handleAIButtonClick, handleManualButtonClick } = useUserChoice(setShowInputMessage);\n\n\n return (\n <form onSubmit={handleSubmit(onSubmit)}>\n <FormLayout\n title={intl.formatMessage({ id: \"post_generator_form.publication\", defaultMessage: \"Publication\" })}\n description={intl.formatMessage({ id: \"post_generator_form.edit_content\", defaultMessage: \"Éditez la forme et le contenu de votre nouvelle campagne\" })}\n leftSideElements={\n <>\n {props.read_only && (\n <div>\n <h3 className=\"flex items-baseline text-sm font-semibold leading-6 text-yellow-700\">\n <ExclamationTriangleIcon className=\"w-3 h-3 mr-1\" />\n Important\n </h3>\n <div className=\"p-2 text-sm text-yellow-700 bg-yellow-100 border-l-4 border-yellow-500\">\n <p>\n <FormattedMessage id=\"post_generator_form.not_editable\" defaultMessage=\"Le contenu de votre publication n'est pas éditable car il ne\n vous appartient pas. Si vous désirez le changer, vous pouvez\n le dupliquer.\" />\n </p>\n <div className=\"mt-4 text-right\">\n <button\n type=\"button\"\n className=\"px-4 py-2 font-semibold text-yellow-700 bg-transparent border border-yellow-500 rounded hover:bg-yellow-700 hover:text-white hover:border-transparent\"\n onClick={duplicateWithOwnership}\n >\n <FormattedMessage id=\"post_generator_form.duplicate\" defaultMessage=\"Dupliquer\" />\n </button>\n </div>\n </div>\n </div>\n )}\n <div>\n <FacebookPreview\n focus={focus}\n teaser={teaser}\n cta={previewCta}\n description={description}\n reconstructed_url={reconstructed_url}\n exampleAccount={props.example_account}\n media={media.filter((m) => !(isPersisted(m) && m.destroy)).map((m) => m.content_medium)}\n />\n </div>\n {!content_attributes.id && (\n <div>\n <UrlScraper\n creationUrl={`/${props.content_dispenser\n ? `content_dispensers/${props.content_dispenser.id}/`\n : \"\"\n }contents`}\n redirectionCallback={(id) =>\n `/${props.content_dispenser\n ? `content_dispensers/${props.content_dispenser.id}/`\n : \"\"\n }post_generators/new?instantiate_from[type]=content&instantiate_from[id]=${id}`\n }\n />\n </div>\n )}\n <div className=\"hidden lg:block\">\n <h3 className=\"flex items-baseline text-sm font-semibold leading-6 text-gray-700\">\n <BoltIcon className=\"w-3 h-3 mr-1\" />\n <FormattedMessage id=\"post_generator_form.tips\" defaultMessage=\"Astuce\" />\n </h3>\n <p className=\"text-sm text-gray-500\">\n <FormattedMessage id=\"post_generator_form.key_words\" defaultMessage=\"Utilisez les mots clés\" />{\" \"}\n {[\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\"\n ].map((v) => (\n <span key={v}>\n <span className=\"font-medium text-gray-700\">{v}</span>\n {\", \"}\n </span>\n ))}\n <FormattedMessage id=\"post_generator_form.custom_your_publications\" defaultMessage=\"pour personnaliser vos publications avec les valeurs correspondantes chez chaque affilié.\" />\n </p>\n </div>\n </>\n }\n >\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.format\", defaultMessage: \"Format\" })}\n hint={intl.formatMessage({ id: \"post_generator_form.hint\", defaultMessage: \"Décide de l'élément sur lequel l'accent sera mis. Selon les plateformes, cela affectera la présentation de votre campagne. Seul le format vidéo accepte les vidéos.\" })}\n >\n <FocusSelector\n inputName=\"post_generator.content_attributes.focus\"\n register={register}\n selected={focus}\n videoPresent={videoPresent}\n imagesPresent={imagesPresent}\n onSelectCallback={async () =>\n isSubmitted\n ? await trigger(\n \"post_generator.content_attributes.reconstructed_url\"\n )\n : null\n }\n />\n </FormField>\n\n <Input\n title={intl.formatMessage({ id: \"post_generator_form.title\", defaultMessage: \"Titre\" })}\n hint={intl.formatMessage({ id: \"post_generator_form.title_hint\", defaultMessage: \"Le titre de votre publication.\" })}\n readonly={readonly}\n {...register(\"post_generator.content_attributes.title\", {\n required: intl.formatMessage({ id: \"post_generator_form.title_cant_be_blank\", defaultMessage: \"Le titre ne peut pas être vide\" }),\n })}\n error={errors?.post_generator?.content_attributes?.title?.message}\n />\n <div>\n <div>\n <ChoiceButton\n showInputMessage={showInputMessage}\n handleAiButtonClick={handleAIButtonClick}\n handleManualButtonClick={handleManualButtonClick}\n />\n </div>\n </div>\n {\n showInputMessage === true ?\n (\n <div>\n <OpenAiForm\n prompt={prompt}\n message=\"Entrez le sujet de votre post pour générer du texte, donner du contexte sur le message que vous souhaitez générer (limite: 30 par mois)\"\n placeholder=\"Exemple: 'Promouvoir un nouveau partenariat avec une entreprise'\"\n setPrompt={setPrompt}\n loading={disabledInput}\n error={error}\n Submit={SubmitOpenAI}\n />\n </div>\n ) : (\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.message\", defaultMessage: \"Message\" })}\n hint={intl.formatMessage({ id: \"post_generator_form.associated_text\", defaultMessage: \"Le texte associé à votre contenu.\" })}\n error={\n errors?.post_generator?.content_attributes?.teaser?.message as\n | string\n | undefined\n }\n >\n <InsertableTextInput\n disabled={readonly}\n {...register(\"post_generator.content_attributes.teaser\", {\n required: intl.formatMessage({ id: \"post_generator_form.message_cant_be_blank\", defaultMessage: \"Le message ne peut pas être vide\" }),\n\n })}\n onInsertionCallback={() =>\n isSubmitted\n ? trigger(\"post_generator.content_attributes.teaser\")\n : null\n }\n rows={5}\n inputType=\"textarea\"\n emojis={true}\n setValue={setValue}\n insertionVariables={[\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\",\n \"$PROMOCODE\",\n \"$SPONSORLINK\",\n ]}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.post_generator?.content_attributes?.teaser\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n />\n </FormField>\n )\n }\n\n\n {/*\n <TextArea\n title={intl.formatMessage({ id: \"post_generator_form.short_description\", defaultMessage: \"Courte description\" })}\n rows={2}\n readonly={readonly}\n {...register(\"post_generator.content_attributes.description\")}\n error={\n errors?.post_generator?.content_attributes?.description?.message\n }\n />\n */}\n\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.media\", defaultMessage: \"Média\" })}\n error={errors?.post_generator?.content_attributes?.focus?.message}\n hint={generateFocusHint()}\n >\n {/* On prend les erreurs de focus car elles concernent les media */}\n <ContentMediaUploader\n inputProps={{\n multiple: true,\n accept: focus === \"video\" ? \"video/*\" : \"image/*\",\n }}\n innerInfos={focus === \"video\" ? <FormattedMessage id=\"post_generator_form.video_format\" defaultMessage=\"MP4, WEBM\" /> : <FormattedMessage id=\"post_generator_form.file_format\" defaultMessage=\"PNG, JPG jusqu'à 10MB\" />}\n disabled={readonly}\n setMedia={(m) => {\n setMedia(m);\n // On trigger le focus pour revalider les changements,\n // en async sinon pas le temps de recevoir l'info du media\n setTimeout(() => {\n trigger(\"post_generator.content_attributes.focus\");\n }, 500);\n }}\n media={media}\n error={errors?.post_generator?.content_attributes?.focus?.message}\n />\n </FormField>\n\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.link\", defaultMessage: \"Lien\" })}\n hint={intl.formatMessage({ id: \"post_generator_form.warning_google\", defaultMessage: \"âš ï¸ Impossible de publier un contenu sur Google si vous indiquez le numéro de téléphone\" })}\n error={\n errors?.post_generator?.content_attributes?.reconstructed_url\n ?.message as string | undefined\n }\n >\n <InsertableTextInput\n disabled={readonly}\n {...register(\n \"post_generator.content_attributes.reconstructed_url\",\n {\n validate: (value: string | undefined) => {\n if (\n !value &&\n getValues(\"post_generator.content_attributes.focus\") ===\n \"link\"\n ) {\n return \"En selectionnant l'expérience lien, vous devez indiquer un lien.\";\n } else {\n return true;\n }\n },\n }\n )}\n onInsertionCallback={() =>\n isSubmitted\n ? trigger(\"post_generator.content_attributes.reconstructed_url\")\n : null\n }\n emojis={false}\n setValue={setValue}\n insertionVariables={[\"$SITE\", \"$CODE\", \"$TEL\", \"$SPONSORLINK\"]}\n className={`form-input flex flex-1 w-full rounded-md border-gray-300 shadow-sm ${errors?.post_generator?.content_attributes?.reconstructed_url\n ? \"border-red-300 focus:border-red-300 focus:ring focus:ring-red-200 focus:ring-opacity-50\"\n : \"focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n }`}\n />\n </FormField>\n\n {props.tag_groups && props.tag_groups.length > 0 && (\n <FormField\n title=\"Tags\"\n // hint=\"âš ï¸ Impossible de publier un contenu sur Google si vous indiquez le numéro de téléphone\"\n >\n <Controller\n name=\"post_generator.content_attributes.tag_ids\"\n control={control}\n render={({ field }) => (\n <TagSelector\n onChange={(option) => field.onChange(option)}\n tagGroups={props.tag_groups}\n selected={field.value}\n />\n )}\n />\n </FormField>\n )}\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.action_btn\", defaultMessage: \"Bouton d'action\" })}\n >\n <Controller\n name=\"post_generator.content_attributes.cta\"\n control={control}\n // defaultValue={post_generator&.content_attributes&.cta || null}\n render={({ field }) => (\n <Select\n onChange={(option) => field.onChange(option)}\n list={ctaOptions}\n value={field.value ? field.value : \"\"}\n disabled={focus !== \"link\"}\n />\n )}\n />\n </FormField>\n {props.content_dispenser && (\n <FormField\n title=\"Expiration\"\n hint=\"Laisser vide si le contenu ne périme pas.\"\n >\n <Controller\n name=\"post_generator.content_attributes.expires_at\"\n control={control}\n render={({ field: { onChange } }) => (\n <DatePicker\n onChange={onChange}\n error={\n errors?.post_generator?.content_attributes?.expires_at\n ?.message\n }\n options={{ minDate }}\n defaultValue={\n content.expires_at\n ? new Date(content.expires_at).toLocaleString(\"fr\")\n : undefined\n }\n />\n )}\n />\n </FormField>\n )}\n </FormLayout>\n <FormLayout\n title={intl.formatMessage({ id: \"post_generator_form.social_networks\", defaultMessage: \"Réseaux sociaux\" })}\n description={intl.formatMessage({ id: \"post_generator_form.netwokrs_hint\", defaultMessage: \"Choisissez les réseaux sociaux sur lesquels vous souhaitez publier votre contenu.\" })}\n >\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.networks\", defaultMessage: \"Réseaux\" })}\n >\n <ChannelSelector\n inputName=\"post_generator.channel_ids\"\n register={register}\n selected={channel_ids}\n channels={props.channels}\n />\n </FormField>\n </FormLayout>\n <FormLayout\n title={intl.formatMessage({ id: \"post_generator_form.programmation\", defaultMessage: \"Programmation\" })}\n description={intl.formatMessage({ id: \"post_generator_form.schedule_your_post\", defaultMessage: \"Choisissez la date, l’heure et la récurrence de votre publication\" })}\n >\n <label >\n <div className=\"flex my-3 space-x-2\">\n <input\n type=\"radio\"\n value=\"periodicity_planification\"\n checked={selectedOption === 'periodicity_planification'}\n onChange={(e) => {\n handleOptionChange(e.target.value)\n setValue(\"post_generator.periodicity\", previousPeriodicity)\n setValue(\"post_generator.starting_at\", previousStartingAt\n ? new Date(previousStartingAt)\n : null)\n }}\n />\n <div className=\"flex\">\n <h3 className=\"space-x-2 text-lg font-medium leading-6\">\n Programmer la publication\n </h3>\n </div>\n </div>\n\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.date\", defaultMessage: \"Date\" })}\n hint={intl.formatMessage({ id: \"post_generator_form.first_diffusion\", defaultMessage: \"Date de la première diffusion\" })}\n error={errors?.post_generator?.starting_at?.message}\n disabled={selectedOption === 'periodicity_publish_now'}\n >\n <Controller\n name=\"post_generator.starting_at\"\n control={control}\n rules={{ required: intl.formatMessage({ id: \"post_generator_form.choose_diffusion_date\", defaultMessage: \"Vous devez choisir une date de diffusion.\" }), }}\n render={({ field: { onChange } }) => (\n <DatePicker\n onChange={(option) => {\n onChange(option)\n setPreviousStartingAt(option.toString() ? option.toString() : minDate.toString())\n }}\n error={errors?.post_generator?.starting_at?.message}\n options={{ minDate, maxDate }}\n defaultValue={\n post_generator.starting_at\n ? new Date(post_generator.starting_at).toLocaleString(\"fr\")\n : undefined\n }\n disabled={selectedOption === 'periodicity_publish_now'}\n />\n )}\n />\n </FormField>\n\n <FormField\n title={intl.formatMessage({ id: \"post_generator_form.recurrency\", defaultMessage: \"Récurrence\" })}\n hint={intl.formatMessage({ id: \"post_generator_form.scheduling\", defaultMessage: \"La périodicité est calculée à partir de la date du premier post.\" })}\n disabled={selectedOption === 'periodicity_publish_now'}\n >\n <Controller\n name=\"post_generator.periodicity\"\n control={control}\n rules={{ required: intl.formatMessage({ id: \"error.required\", defaultMessage: \"Ce champ ne peut être vide.\" }), }}\n render={({ field }) => (\n <Select\n onChange={(option) => {\n field.onChange(option)\n setPreviousPeriodicity(option ? option : \"one_time\")\n }}\n list={periodicityOptions}\n value={field.value}\n disabled={selectedOption === 'periodicity_publish_now'}\n />\n )}\n />\n </FormField>\n </label>\n {/*<div className=\"flex items-center justify-center space-x-5\">\n <hr className=\"w-full h-1\" />\n <p>OU</p>\n <hr className=\"w-full h-1\" />\n </div>*/}\n <label className='my-3'>\n <div className=\"flex my-3 space-x-2\">\n {/*<input\n className=\"m-1\"\n type=\"radio\"\n value=\"periodicity_publish_now\"\n checked={selectedOption === 'periodicity_publish_now'}\n onChange={(e) => {\n handleOptionChange(e.target.value)\n setValue(\"post_generator.periodicity\", \"publish_now\")\n setValue(\"post_generator.starting_at\", minDate)\n }}\n />*/}\n {/*<div className=\"flex\">\n <h3 className=\"space-x-2 text-lg font-medium leading-6\">\n <FormattedMessage id=\"post_generator_form.publish_now\" defaultMessage=\"Publier Maintenant\" />\n </h3>\n </div>*/}\n </div>\n {/*<FormField\n // title={intl.formatMessage({id:\"post_generator_form.publish_now\", defaultMessage:\"Publier maintenant\"})}\n hint={intl.formatMessage({ id: \"post_generator_form.publish_now_hint\", defaultMessage: \"Le post est publié immédiatement sur les réseaux sociaux\" })}\n >*/}\n <></>\n {/* <Controller\n name=\"post_generator.periodicity\"\n control={control}\n render={({ field }) => (\n <Select\n onChange={(option) => field.onChange(option)}\n list={periodicityOptions}\n value={field.value}\n />\n )}\n /> */}\n {/*</FormField>*/}\n </label>\n <div>\n </div>\n </FormLayout>\n\n <div className=\"flex justify-end\">\n <button\n disabled={submitted}\n className=\"relative rounded-md bg-brand_main disabled:bg-gray-300 py-2.5 px-3.5 text-sm font-semibold text-white shadow-sm hover:bg-brand_darker focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand_main\"\n type=\"submit\"\n >\n <Spinner className={`absolute ${!submitted && \"invisible\"} w-5 h-5 mb-1 ml-4 text-white animate-spin`} />\n <span className={` ${submitted && \"invisible\"}`}>\n <FormattedMessage id=\"post_generator_form.save\" defaultMessage=\"Enregistrer\" />\n </span>\n </button>\n </div>\n </form>\n );\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport React from \"react\";\nimport { createRoot, Root } from \"react-dom/client\";\nimport { IntlProvider } from \"react-intl\";\nimport fr from \"../../../config/locales/js-lang/fr.json\";\nimport en from \"../../../config/locales/js-lang/en.json\"; // on mettra le compile plus tard\n\nimport PostGeneratorForm from \"../components/Publisher/PostGeneratorForm\";\n\nexport default class extends Controller {\n root?: Root;\n get props() {\n return JSON.parse(this.data.get(\"props\"))\n }\n\n disconnect() {\n // unmountComponentAtNode(this.element);\n this.root?.unmount();\n }\n\n initialize() {}\n\n connect() {\n // Create a root.\n this.root = createRoot(this.element);\n const messages = {fr, en}\n // Initial render: Render an element to the root.\n this.root.render(\n <IntlProvider\n locale={this.props.locale}\n messages={this.props.locale ? messages[this.props.locale] : fr}\n >\n <PostGeneratorForm {...this.props} />\n </IntlProvider>\n );\n }\n}\n","import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n static targets = [\"company\", \"input\"]\n\n connect() {\n this.companyTargets.forEach(company => {\n company.style.display = \"block\"\n })\n }\n\n filter() {\n const searchTerm = this.inputTarget.value.toLowerCase().trim()\n \n this.companyTargets.forEach(company => {\n const companyName = company.querySelector('p').textContent.toLowerCase()\n \n if (searchTerm === '') {\n company.style.display = \"block\"\n } else if (companyName.includes(searchTerm)) {\n company.style.display = \"block\"\n } else {\n company.style.display = \"none\"\n }\n })\n }\n}\n","import { Controller } from \"@hotwired/stimulus\";\nimport { useClickOutside } from \"stimulus-use\";\n\nexport default class extends Controller {\n static targets = [\"container\", \"closeButton\"];\n\n connect() {\n this.opened = false;\n useClickOutside(this)\n }\n\n open() {\n if (this.opened) return\n this.opened = true\n this.containerTarget.classList.remove(\"translate-x-full\");\n this.closeButtonTarget.classList.remove(\"hidden\");\n }\n\n close() {\n if (!this.opened) return\n this.opened = false\n this.containerTarget.classList.add(\"translate-x-full\");\n this.closeButtonTarget.classList.add(\"hidden\")\n }\n\n clickOutside(event) {\n if (this.opened) {\n this.close()\n event.stopPropagation()\n }\n }\n}\n","function t(t,e,i,s){return new(i||(i=Promise))((function(n,r){function o(t){try{h(s.next(t))}catch(t){r(t)}}function a(t){try{h(s.throw(t))}catch(t){r(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(o,a)}h((s=s.apply(t,e||[])).next())}))}\"function\"==typeof SuppressedError&&SuppressedError;class e{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),null==i?void 0:i.once){const i=()=>{this.un(t,i),this.un(t,e)};return this.on(t,i),i}return()=>this.un(t,e)}un(t,e){var i;null===(i=this.listeners[t])||void 0===i||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach((t=>t(...e)))}}const i={decode:function(e,i){return t(this,void 0,void 0,(function*(){const t=new AudioContext({sampleRate:i});return t.decodeAudioData(e).finally((()=>t.close()))}))},createBuffer:function(t,e){return\"number\"==typeof t[0]&&(t=[t]),function(t){const e=t[0];if(e.some((t=>t>1||t<-1))){const i=e.length;let s=0;for(let t=0;t<i;t++){const i=Math.abs(e[t]);i>s&&(s=i)}for(const e of t)for(let t=0;t<i;t++)e[t]/=s}}(t),{duration:e,length:t[0].length,sampleRate:t[0].length/e,numberOfChannels:t.length,getChannelData:e=>null==t?void 0:t[e],copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function s(t,e){const i=e.xmlns?document.createElementNS(e.xmlns,t):document.createElement(t);for(const[t,n]of Object.entries(e))if(\"children\"===t)for(const[t,n]of Object.entries(e))\"string\"==typeof n?i.appendChild(document.createTextNode(n)):i.appendChild(s(t,n));else\"style\"===t?Object.assign(i.style,n):\"textContent\"===t?i.textContent=n:i.setAttribute(t,n.toString());return i}function n(t,e,i){const n=s(t,e||{});return null==i||i.appendChild(n),n}var r=Object.freeze({__proto__:null,createElement:n,default:n});const o={fetchBlob:function(e,i,s){return t(this,void 0,void 0,(function*(){const n=yield fetch(e,s);if(n.status>=400)throw new Error(`Failed to fetch ${e}: ${n.status} (${n.statusText})`);return function(e,i){t(this,void 0,void 0,(function*(){if(!e.body||!e.headers)return;const s=e.body.getReader(),n=Number(e.headers.get(\"Content-Length\"))||0;let r=0;const o=e=>t(this,void 0,void 0,(function*(){r+=(null==e?void 0:e.length)||0;const t=Math.round(r/n*100);i(t)})),a=()=>t(this,void 0,void 0,(function*(){let t;try{t=yield s.read()}catch(t){return}t.done||(o(t.value),yield a())}));a()}))}(n.clone(),i),n.blob()}))}};class a extends e{constructor(t){super(),this.isExternalMedia=!1,t.media?(this.media=t.media,this.isExternalMedia=!0):this.media=document.createElement(\"audio\"),t.mediaControls&&(this.media.controls=!0),t.autoplay&&(this.media.autoplay=!0),null!=t.playbackRate&&this.onMediaEvent(\"canplay\",(()=>{null!=t.playbackRate&&(this.media.playbackRate=t.playbackRate)}),{once:!0})}onMediaEvent(t,e,i){return this.media.addEventListener(t,e,i),()=>this.media.removeEventListener(t,e,i)}getSrc(){return this.media.currentSrc||this.media.src||\"\"}revokeSrc(){const t=this.getSrc();t.startsWith(\"blob:\")&&URL.revokeObjectURL(t)}canPlayType(t){return\"\"!==this.media.canPlayType(t)}setSrc(t,e){const i=this.getSrc();if(t&&i===t)return;this.revokeSrc();const s=e instanceof Blob&&(this.canPlayType(e.type)||!t)?URL.createObjectURL(e):t;i&&(this.media.src=\"\");try{this.media.src=s}catch(e){this.media.src=t}}destroy(){this.isExternalMedia||(this.media.pause(),this.media.remove(),this.revokeSrc(),this.media.src=\"\",this.media.load())}setMediaElement(t){this.media=t}play(){return t(this,void 0,void 0,(function*(){return this.media.play()}))}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(t){this.media.currentTime=t}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(t){this.media.volume=t}getMuted(){return this.media.muted}setMuted(t){this.media.muted=t}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(t,e){null!=e&&(this.media.preservesPitch=e),this.media.playbackRate=t}getMediaElement(){return this.media}setSinkId(t){return this.media.setSinkId(t)}}class h extends e{constructor(t,e){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.unsubscribeOnScroll=[],this.subscriptions=[],this.options=t;const i=this.parentFromOptionsContainer(t.container);this.parent=i;const[s,n]=this.initHtml();i.appendChild(s),this.container=s,this.scrollContainer=n.querySelector(\".scroll\"),this.wrapper=n.querySelector(\".wrapper\"),this.canvasWrapper=n.querySelector(\".canvases\"),this.progressWrapper=n.querySelector(\".progress\"),this.cursor=n.querySelector(\".cursor\"),e&&n.appendChild(e),this.initEvents()}parentFromOptionsContainer(t){let e;if(\"string\"==typeof t?e=document.querySelector(t):t instanceof HTMLElement&&(e=t),!e)throw new Error(\"Container not found\");return e}initEvents(){const t=t=>{const e=this.wrapper.getBoundingClientRect(),i=t.clientX-e.left,s=t.clientY-e.top;return[i/e.width,s/e.height]};if(this.wrapper.addEventListener(\"click\",(e=>{const[i,s]=t(e);this.emit(\"click\",i,s)})),this.wrapper.addEventListener(\"dblclick\",(e=>{const[i,s]=t(e);this.emit(\"dblclick\",i,s)})),!0!==this.options.dragToSeek&&\"object\"!=typeof this.options.dragToSeek||this.initDrag(),this.scrollContainer.addEventListener(\"scroll\",(()=>{const{scrollLeft:t,scrollWidth:e,clientWidth:i}=this.scrollContainer,s=t/e,n=(t+i)/e;this.emit(\"scroll\",s,n,t,t+i)})),\"function\"==typeof ResizeObserver){const t=this.createDelay(100);this.resizeObserver=new ResizeObserver((()=>{t().then((()=>this.onContainerResize())).catch((()=>{}))})),this.resizeObserver.observe(this.scrollContainer)}}onContainerResize(){const t=this.parent.clientWidth;t===this.lastContainerWidth&&\"auto\"!==this.options.height||(this.lastContainerWidth=t,this.reRender())}initDrag(){this.subscriptions.push(function(t,e,i,s,n=3,r=0,o=100){if(!t)return()=>{};const a=matchMedia(\"(pointer: coarse)\").matches;let h=()=>{};const l=l=>{if(l.button!==r)return;l.preventDefault(),l.stopPropagation();let d=l.clientX,c=l.clientY,u=!1;const p=Date.now(),m=s=>{if(s.preventDefault(),s.stopPropagation(),a&&Date.now()-p<o)return;const r=s.clientX,h=s.clientY,l=r-d,m=h-c;if(u||Math.abs(l)>n||Math.abs(m)>n){const s=t.getBoundingClientRect(),{left:n,top:o}=s;u||(null==i||i(d-n,c-o),u=!0),e(l,m,r-n,h-o),d=r,c=h}},f=e=>{if(u){const i=e.clientX,n=e.clientY,r=t.getBoundingClientRect(),{left:o,top:a}=r;null==s||s(i-o,n-a)}h()},g=t=>{t.relatedTarget&&t.relatedTarget!==document.documentElement||f(t)},v=t=>{u&&(t.stopPropagation(),t.preventDefault())},b=t=>{u&&t.preventDefault()};document.addEventListener(\"pointermove\",m),document.addEventListener(\"pointerup\",f),document.addEventListener(\"pointerout\",g),document.addEventListener(\"pointercancel\",g),document.addEventListener(\"touchmove\",b,{passive:!1}),document.addEventListener(\"click\",v,{capture:!0}),h=()=>{document.removeEventListener(\"pointermove\",m),document.removeEventListener(\"pointerup\",f),document.removeEventListener(\"pointerout\",g),document.removeEventListener(\"pointercancel\",g),document.removeEventListener(\"touchmove\",b),setTimeout((()=>{document.removeEventListener(\"click\",v,{capture:!0})}),10)}};return t.addEventListener(\"pointerdown\",l),()=>{h(),t.removeEventListener(\"pointerdown\",l)}}(this.wrapper,((t,e,i)=>{this.emit(\"drag\",Math.max(0,Math.min(1,i/this.wrapper.getBoundingClientRect().width)))}),(t=>{this.isDragging=!0,this.emit(\"dragstart\",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))}),(t=>{this.isDragging=!1,this.emit(\"dragend\",Math.max(0,Math.min(1,t/this.wrapper.getBoundingClientRect().width)))})))}getHeight(t,e){var i;const s=(null===(i=this.audioData)||void 0===i?void 0:i.numberOfChannels)||1;if(null==t)return 128;if(!isNaN(Number(t)))return Number(t);if(\"auto\"===t){const t=this.parent.clientHeight||128;return(null==e?void 0:e.every((t=>!t.overlay)))?t/s:t}return 128}initHtml(){const t=document.createElement(\"div\"),e=t.attachShadow({mode:\"open\"}),i=this.options.cspNonce&&\"string\"==typeof this.options.cspNonce?this.options.cspNonce.replace(/\"/g,\"\"):\"\";return e.innerHTML=`\\n <style${i?` nonce=\"${i}\"`:\"\"}>\\n :host {\\n user-select: none;\\n min-width: 1px;\\n }\\n :host audio {\\n display: block;\\n width: 100%;\\n }\\n :host .scroll {\\n overflow-x: auto;\\n overflow-y: hidden;\\n width: 100%;\\n position: relative;\\n }\\n :host .noScrollbar {\\n scrollbar-color: transparent;\\n scrollbar-width: none;\\n }\\n :host .noScrollbar::-webkit-scrollbar {\\n display: none;\\n -webkit-appearance: none;\\n }\\n :host .wrapper {\\n position: relative;\\n overflow: visible;\\n z-index: 2;\\n }\\n :host .canvases {\\n min-height: ${this.getHeight(this.options.height,this.options.splitChannels)}px;\\n }\\n :host .canvases > div {\\n position: relative;\\n }\\n :host canvas {\\n display: block;\\n position: absolute;\\n top: 0;\\n image-rendering: pixelated;\\n }\\n :host .progress {\\n pointer-events: none;\\n position: absolute;\\n z-index: 2;\\n top: 0;\\n left: 0;\\n width: 0;\\n height: 100%;\\n overflow: hidden;\\n }\\n :host .progress > div {\\n position: relative;\\n }\\n :host .cursor {\\n pointer-events: none;\\n position: absolute;\\n z-index: 5;\\n top: 0;\\n left: 0;\\n height: 100%;\\n border-radius: 2px;\\n }\\n </style>\\n\\n <div class=\"scroll\" part=\"scroll\">\\n <div class=\"wrapper\" part=\"wrapper\">\\n <div class=\"canvases\" part=\"canvases\"></div>\\n <div class=\"progress\" part=\"progress\"></div>\\n <div class=\"cursor\" part=\"cursor\"></div>\\n </div>\\n </div>\\n `,[t,e]}setOptions(t){if(this.options.container!==t.container){const e=this.parentFromOptionsContainer(t.container);e.appendChild(this.container),this.parent=e}!0!==t.dragToSeek&&\"object\"!=typeof this.options.dragToSeek||this.initDrag(),this.options=t,this.reRender()}getWrapper(){return this.wrapper}getWidth(){return this.scrollContainer.clientWidth}getScroll(){return this.scrollContainer.scrollLeft}setScroll(t){this.scrollContainer.scrollLeft=t}setScrollPercentage(t){const{scrollWidth:e}=this.scrollContainer,i=e*t;this.setScroll(i)}destroy(){var t,e;this.subscriptions.forEach((t=>t())),this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(e=this.unsubscribeOnScroll)||void 0===e||e.forEach((t=>t())),this.unsubscribeOnScroll=[]}createDelay(t=10){let e,i;const s=()=>{e&&clearTimeout(e),i&&i()};return this.timeouts.push(s),()=>new Promise(((n,r)=>{s(),i=r,e=setTimeout((()=>{e=void 0,i=void 0,n()}),t)}))}convertColorValues(t){if(!Array.isArray(t))return t||\"\";if(t.length<2)return t[0]||\"\";const e=document.createElement(\"canvas\"),i=e.getContext(\"2d\"),s=e.height*(window.devicePixelRatio||1),n=i.createLinearGradient(0,0,0,s),r=1/(t.length-1);return t.forEach(((t,e)=>{const i=e*r;n.addColorStop(i,t)})),n}getPixelRatio(){return Math.max(1,window.devicePixelRatio||1)}renderBarWaveform(t,e,i,s){const n=t[0],r=t[1]||t[0],o=n.length,{width:a,height:h}=i.canvas,l=h/2,d=this.getPixelRatio(),c=e.barWidth?e.barWidth*d:1,u=e.barGap?e.barGap*d:e.barWidth?c/2:0,p=e.barRadius||0,m=a/(c+u)/o,f=p&&\"roundRect\"in i?\"roundRect\":\"rect\";i.beginPath();let g=0,v=0,b=0;for(let t=0;t<=o;t++){const o=Math.round(t*m);if(o>g){const t=Math.round(v*l*s),n=t+Math.round(b*l*s)||1;let r=l-t;\"top\"===e.barAlign?r=0:\"bottom\"===e.barAlign&&(r=h-n),i[f](g*(c+u),r,c,n,p),g=o,v=0,b=0}const a=Math.abs(n[t]||0),d=Math.abs(r[t]||0);a>v&&(v=a),d>b&&(b=d)}i.fill(),i.closePath()}renderLineWaveform(t,e,i,s){const n=e=>{const n=t[e]||t[0],r=n.length,{height:o}=i.canvas,a=o/2,h=i.canvas.width/r;i.moveTo(0,a);let l=0,d=0;for(let t=0;t<=r;t++){const r=Math.round(t*h);if(r>l){const t=a+(Math.round(d*a*s)||1)*(0===e?-1:1);i.lineTo(l,t),l=r,d=0}const o=Math.abs(n[t]||0);o>d&&(d=o)}i.lineTo(l,a)};i.beginPath(),n(0),n(1),i.fill(),i.closePath()}renderWaveform(t,e,i){if(i.fillStyle=this.convertColorValues(e.waveColor),e.renderFunction)return void e.renderFunction(t,i);let s=e.barHeight||1;if(e.normalize){const e=Array.from(t[0]).reduce(((t,e)=>Math.max(t,Math.abs(e))),0);s=e?1/e:1}e.barWidth||e.barGap||e.barAlign?this.renderBarWaveform(t,e,i,s):this.renderLineWaveform(t,e,i,s)}renderSingleCanvas(t,e,i,s,n,r,o){const a=this.getPixelRatio(),h=document.createElement(\"canvas\");h.width=Math.round(i*a),h.height=Math.round(s*a),h.style.width=`${i}px`,h.style.height=`${s}px`,h.style.left=`${Math.round(n)}px`,r.appendChild(h);const l=h.getContext(\"2d\");if(this.renderWaveform(t,e,l),h.width>0&&h.height>0){const t=h.cloneNode(),i=t.getContext(\"2d\");i.drawImage(h,0,0),i.globalCompositeOperation=\"source-in\",i.fillStyle=this.convertColorValues(e.progressColor),i.fillRect(0,0,h.width,h.height),o.appendChild(t)}}renderMultiCanvas(t,e,i,s,n,r){const o=this.getPixelRatio(),{clientWidth:a}=this.scrollContainer,l=i/o;let d=Math.min(h.MAX_CANVAS_WIDTH,a,l),c={};if(0===d)return;if(e.barWidth||e.barGap){const t=e.barWidth||.5,i=t+(e.barGap||t/2);d%i!=0&&(d=Math.floor(d/i)*i)}const u=i=>{if(i<0||i>=p)return;if(c[i])return;c[i]=!0;const o=i*d,a=Math.min(l-o,d);if(a<=0)return;const h=t.map((t=>{const e=Math.floor(o/l*t.length),i=Math.floor((o+a)/l*t.length);return t.slice(e,i)}));this.renderSingleCanvas(h,e,a,s,o,n,r)},p=Math.ceil(l/d);if(!this.isScrollable){for(let t=0;t<p;t++)u(t);return}const m=this.scrollContainer.scrollLeft/l,f=Math.floor(m*p);if(u(f-1),u(f),u(f+1),p>1){const t=this.on(\"scroll\",(()=>{const{scrollLeft:t}=this.scrollContainer,e=Math.floor(t/l*p);Object.keys(c).length>h.MAX_NODES&&(n.innerHTML=\"\",r.innerHTML=\"\",c={}),u(e-1),u(e),u(e+1)}));this.unsubscribeOnScroll.push(t)}}renderChannel(t,e,i,s){var{overlay:n}=e,r=function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(t);n<s.length;n++)e.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(t,s[n])&&(i[s[n]]=t[s[n]])}return i}(e,[\"overlay\"]);const o=document.createElement(\"div\"),a=this.getHeight(r.height,r.splitChannels);o.style.height=`${a}px`,n&&s>0&&(o.style.marginTop=`-${a}px`),this.canvasWrapper.style.minHeight=`${a}px`,this.canvasWrapper.appendChild(o);const h=o.cloneNode();this.progressWrapper.appendChild(h),this.renderMultiCanvas(t,r,i,a,o,h)}render(e){return t(this,void 0,void 0,(function*(){var t;this.timeouts.forEach((t=>t())),this.timeouts=[],this.canvasWrapper.innerHTML=\"\",this.progressWrapper.innerHTML=\"\",null!=this.options.width&&(this.scrollContainer.style.width=\"number\"==typeof this.options.width?`${this.options.width}px`:this.options.width);const i=this.getPixelRatio(),s=this.scrollContainer.clientWidth,n=Math.ceil(e.duration*(this.options.minPxPerSec||0));this.isScrollable=n>s;const r=this.options.fillParent&&!this.isScrollable,o=(r?s:n)*i;if(this.wrapper.style.width=r?\"100%\":`${n}px`,this.scrollContainer.style.overflowX=this.isScrollable?\"auto\":\"hidden\",this.scrollContainer.classList.toggle(\"noScrollbar\",!!this.options.hideScrollbar),this.cursor.style.backgroundColor=`${this.options.cursorColor||this.options.progressColor}`,this.cursor.style.width=`${this.options.cursorWidth}px`,this.audioData=e,this.emit(\"render\"),this.options.splitChannels)for(let i=0;i<e.numberOfChannels;i++){const s=Object.assign(Object.assign({},this.options),null===(t=this.options.splitChannels)||void 0===t?void 0:t[i]);this.renderChannel([e.getChannelData(i)],s,o,i)}else{const t=[e.getChannelData(0)];e.numberOfChannels>1&&t.push(e.getChannelData(1)),this.renderChannel(t,this.options,o,0)}Promise.resolve().then((()=>this.emit(\"rendered\")))}))}reRender(){if(this.unsubscribeOnScroll.forEach((t=>t())),this.unsubscribeOnScroll=[],!this.audioData)return;const{scrollWidth:t}=this.scrollContainer,{right:e}=this.progressWrapper.getBoundingClientRect();if(this.render(this.audioData),this.isScrollable&&t!==this.scrollContainer.scrollWidth){const{right:t}=this.progressWrapper.getBoundingClientRect();let i=t-e;i*=2,i=i<0?Math.floor(i):Math.ceil(i),i/=2,this.scrollContainer.scrollLeft+=i}}zoom(t){this.options.minPxPerSec=t,this.reRender()}scrollIntoView(t,e=!1){const{scrollLeft:i,scrollWidth:s,clientWidth:n}=this.scrollContainer,r=t*s,o=i,a=i+n,h=n/2;if(this.isDragging){const t=30;r+t>a?this.scrollContainer.scrollLeft+=t:r-t<o&&(this.scrollContainer.scrollLeft-=t)}else{(r<o||r>a)&&(this.scrollContainer.scrollLeft=r-(this.options.autoCenter?h:0));const t=r-i-h;e&&this.options.autoCenter&&t>0&&(this.scrollContainer.scrollLeft+=Math.min(t,10))}{const t=this.scrollContainer.scrollLeft,e=t/s,i=(t+n)/s;this.emit(\"scroll\",e,i,t,t+n)}}renderProgress(t,e){if(isNaN(t))return;const i=100*t;this.canvasWrapper.style.clipPath=`polygon(${i}% 0, 100% 0, 100% 100%, ${i}% 100%)`,this.progressWrapper.style.width=`${i}%`,this.cursor.style.left=`${i}%`,this.cursor.style.transform=`translateX(-${100===Math.round(i)?this.options.cursorWidth:0}px)`,this.isScrollable&&this.options.autoScroll&&this.scrollIntoView(t,e)}exportImage(e,i,s){return t(this,void 0,void 0,(function*(){const t=this.canvasWrapper.querySelectorAll(\"canvas\");if(!t.length)throw new Error(\"No waveform data\");if(\"dataURL\"===s){const s=Array.from(t).map((t=>t.toDataURL(e,i)));return Promise.resolve(s)}return Promise.all(Array.from(t).map((t=>new Promise(((s,n)=>{t.toBlob((t=>{t?s(t):n(new Error(\"Could not export image\"))}),e,i)})))))}))}}h.MAX_CANVAS_WIDTH=8e3,h.MAX_NODES=10;class l extends e{constructor(){super(...arguments),this.unsubscribe=()=>{}}start(){this.unsubscribe=this.on(\"tick\",(()=>{requestAnimationFrame((()=>{this.emit(\"tick\")}))})),this.emit(\"tick\")}stop(){this.unsubscribe()}destroy(){this.unsubscribe()}}class d extends e{constructor(t=new AudioContext){super(),this.bufferNode=null,this.playStartTime=0,this.playedDuration=0,this._muted=!1,this._playbackRate=1,this._duration=void 0,this.buffer=null,this.currentSrc=\"\",this.paused=!0,this.crossOrigin=null,this.seeking=!1,this.autoplay=!1,this.addEventListener=this.on,this.removeEventListener=this.un,this.audioContext=t,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}load(){return t(this,void 0,void 0,(function*(){}))}get src(){return this.currentSrc}set src(t){if(this.currentSrc=t,this._duration=void 0,!t)return this.buffer=null,void this.emit(\"emptied\");fetch(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch ${t}: ${e.status} (${e.statusText})`);return e.arrayBuffer()})).then((e=>this.currentSrc!==t?null:this.audioContext.decodeAudioData(e))).then((e=>{this.currentSrc===t&&(this.buffer=e,this.emit(\"loadedmetadata\"),this.emit(\"canplay\"),this.autoplay&&this.play())}))}_play(){var t;if(!this.paused)return;this.paused=!1,null===(t=this.bufferNode)||void 0===t||t.disconnect(),this.bufferNode=this.audioContext.createBufferSource(),this.buffer&&(this.bufferNode.buffer=this.buffer),this.bufferNode.playbackRate.value=this._playbackRate,this.bufferNode.connect(this.gainNode);let e=this.playedDuration*this._playbackRate;e>=this.duration&&(e=0,this.playedDuration=0),this.bufferNode.start(this.audioContext.currentTime,e),this.playStartTime=this.audioContext.currentTime,this.bufferNode.onended=()=>{this.currentTime>=this.duration&&(this.pause(),this.emit(\"ended\"))}}_pause(){var t;this.paused=!0,null===(t=this.bufferNode)||void 0===t||t.stop(),this.playedDuration+=this.audioContext.currentTime-this.playStartTime}play(){return t(this,void 0,void 0,(function*(){this.paused&&(this._play(),this.emit(\"play\"))}))}pause(){this.paused||(this._pause(),this.emit(\"pause\"))}stopAt(t){var e,i;const s=t-this.currentTime;null===(e=this.bufferNode)||void 0===e||e.stop(this.audioContext.currentTime+s),null===(i=this.bufferNode)||void 0===i||i.addEventListener(\"ended\",(()=>{this.bufferNode=null,this.pause()}),{once:!0})}setSinkId(e){return t(this,void 0,void 0,(function*(){return this.audioContext.setSinkId(e)}))}get playbackRate(){return this._playbackRate}set playbackRate(t){this._playbackRate=t,this.bufferNode&&(this.bufferNode.playbackRate.value=t)}get currentTime(){return(this.paused?this.playedDuration:this.playedDuration+(this.audioContext.currentTime-this.playStartTime))*this._playbackRate}set currentTime(t){const e=!this.paused;e&&this._pause(),this.playedDuration=t/this._playbackRate,e&&this._play(),this.emit(\"seeking\"),this.emit(\"timeupdate\")}get duration(){var t,e;return null!==(t=this._duration)&&void 0!==t?t:(null===(e=this.buffer)||void 0===e?void 0:e.duration)||0}set duration(t){this._duration=t}get volume(){return this.gainNode.gain.value}set volume(t){this.gainNode.gain.value=t,this.emit(\"volumechange\")}get muted(){return this._muted}set muted(t){this._muted!==t&&(this._muted=t,this._muted?this.gainNode.disconnect():this.gainNode.connect(this.audioContext.destination))}canPlayType(t){return/^(audio|video)\\//.test(t)}getGainNode(){return this.gainNode}getChannelData(){const t=[];if(!this.buffer)return t;const e=this.buffer.numberOfChannels;for(let i=0;i<e;i++)t.push(this.buffer.getChannelData(i));return t}}const c={waveColor:\"#999\",progressColor:\"#555\",cursorWidth:1,minPxPerSec:0,fillParent:!0,interact:!0,dragToSeek:!1,autoScroll:!0,autoCenter:!0,sampleRate:8e3};class u extends a{static create(t){return new u(t)}constructor(t){const e=t.media||(\"WebAudio\"===t.backend?new d:void 0);super({media:e,mediaControls:t.mediaControls,autoplay:t.autoplay,playbackRate:t.audioRate}),this.plugins=[],this.decodedData=null,this.subscriptions=[],this.mediaSubscriptions=[],this.abortController=null,this.options=Object.assign({},c,t),this.timer=new l;const i=e?void 0:this.getMediaElement();this.renderer=new h(this.options,i),this.initPlayerEvents(),this.initRendererEvents(),this.initTimerEvents(),this.initPlugins();const s=this.options.url||this.getSrc()||\"\";Promise.resolve().then((()=>{this.emit(\"init\");const{peaks:t,duration:e}=this.options;(s||t&&e)&&this.load(s,t,e).catch((()=>null))}))}updateProgress(t=this.getCurrentTime()){return this.renderer.renderProgress(t/this.getDuration(),this.isPlaying()),t}initTimerEvents(){this.subscriptions.push(this.timer.on(\"tick\",(()=>{if(!this.isSeeking()){const t=this.updateProgress();this.emit(\"timeupdate\",t),this.emit(\"audioprocess\",t)}})))}initPlayerEvents(){this.isPlaying()&&(this.emit(\"play\"),this.timer.start()),this.mediaSubscriptions.push(this.onMediaEvent(\"timeupdate\",(()=>{const t=this.updateProgress();this.emit(\"timeupdate\",t)})),this.onMediaEvent(\"play\",(()=>{this.emit(\"play\"),this.timer.start()})),this.onMediaEvent(\"pause\",(()=>{this.emit(\"pause\"),this.timer.stop()})),this.onMediaEvent(\"emptied\",(()=>{this.timer.stop()})),this.onMediaEvent(\"ended\",(()=>{this.emit(\"timeupdate\",this.getDuration()),this.emit(\"finish\")})),this.onMediaEvent(\"seeking\",(()=>{this.emit(\"seeking\",this.getCurrentTime())})),this.onMediaEvent(\"error\",(t=>{var e;this.emit(\"error\",null!==(e=this.getMediaElement().error)&&void 0!==e?e:new Error(\"Media error\"))})))}initRendererEvents(){this.subscriptions.push(this.renderer.on(\"click\",((t,e)=>{this.options.interact&&(this.seekTo(t),this.emit(\"interaction\",t*this.getDuration()),this.emit(\"click\",t,e))})),this.renderer.on(\"dblclick\",((t,e)=>{this.emit(\"dblclick\",t,e)})),this.renderer.on(\"scroll\",((t,e,i,s)=>{const n=this.getDuration();this.emit(\"scroll\",t*n,e*n,i,s)})),this.renderer.on(\"render\",(()=>{this.emit(\"redraw\")})),this.renderer.on(\"rendered\",(()=>{this.emit(\"redrawcomplete\")})),this.renderer.on(\"dragstart\",(t=>{this.emit(\"dragstart\",t)})),this.renderer.on(\"dragend\",(t=>{this.emit(\"dragend\",t)})));{let t;this.subscriptions.push(this.renderer.on(\"drag\",(e=>{if(!this.options.interact)return;let i;this.renderer.renderProgress(e),clearTimeout(t),this.isPlaying()?i=0:!0===this.options.dragToSeek?i=200:\"object\"==typeof this.options.dragToSeek&&void 0!==this.options.dragToSeek&&(i=this.options.dragToSeek.debounceTime),t=setTimeout((()=>{this.seekTo(e)}),i),this.emit(\"interaction\",e*this.getDuration()),this.emit(\"drag\",e)})))}}initPlugins(){var t;(null===(t=this.options.plugins)||void 0===t?void 0:t.length)&&this.options.plugins.forEach((t=>{this.registerPlugin(t)}))}unsubscribePlayerEvents(){this.mediaSubscriptions.forEach((t=>t())),this.mediaSubscriptions=[]}setOptions(t){this.options=Object.assign({},this.options,t),t.duration&&!t.peaks&&(this.decodedData=i.createBuffer(this.exportPeaks(),t.duration)),t.peaks&&t.duration&&(this.decodedData=i.createBuffer(t.peaks,t.duration)),this.renderer.setOptions(this.options),t.audioRate&&this.setPlaybackRate(t.audioRate),null!=t.mediaControls&&(this.getMediaElement().controls=t.mediaControls)}registerPlugin(t){return t._init(this),this.plugins.push(t),this.subscriptions.push(t.once(\"destroy\",(()=>{this.plugins=this.plugins.filter((e=>e!==t))}))),t}getWrapper(){return this.renderer.getWrapper()}getWidth(){return this.renderer.getWidth()}getScroll(){return this.renderer.getScroll()}setScroll(t){return this.renderer.setScroll(t)}setScrollTime(t){const e=t/this.getDuration();this.renderer.setScrollPercentage(e)}getActivePlugins(){return this.plugins}loadAudio(e,s,n,r){return t(this,void 0,void 0,(function*(){var t;if(this.emit(\"load\",e),!this.options.media&&this.isPlaying()&&this.pause(),this.decodedData=null,!s&&!n){const i=this.options.fetchParams||{};window.AbortController&&!i.signal&&(this.abortController=new AbortController,i.signal=null===(t=this.abortController)||void 0===t?void 0:t.signal);const n=t=>this.emit(\"loading\",t);s=yield o.fetchBlob(e,n,i);const r=this.options.blobMimeType;r&&(s=new Blob([s],{type:r}))}this.setSrc(e,s);const a=yield new Promise((t=>{const e=r||this.getDuration();e?t(e):this.mediaSubscriptions.push(this.onMediaEvent(\"loadedmetadata\",(()=>t(this.getDuration())),{once:!0}))}));if(!e&&!s){const t=this.getMediaElement();t instanceof d&&(t.duration=a)}if(n)this.decodedData=i.createBuffer(n,a||0);else if(s){const t=yield s.arrayBuffer();this.decodedData=yield i.decode(t,this.options.sampleRate)}this.decodedData&&(this.emit(\"decode\",this.getDuration()),this.renderer.render(this.decodedData)),this.emit(\"ready\",this.getDuration())}))}load(e,i,s){return t(this,void 0,void 0,(function*(){try{return yield this.loadAudio(e,void 0,i,s)}catch(t){throw this.emit(\"error\",t),t}}))}loadBlob(e,i,s){return t(this,void 0,void 0,(function*(){try{return yield this.loadAudio(\"\",e,i,s)}catch(t){throw this.emit(\"error\",t),t}}))}zoom(t){if(!this.decodedData)throw new Error(\"No audio loaded\");this.renderer.zoom(t),this.emit(\"zoom\",t)}getDecodedData(){return this.decodedData}exportPeaks({channels:t=2,maxLength:e=8e3,precision:i=1e4}={}){if(!this.decodedData)throw new Error(\"The audio has not been decoded yet\");const s=Math.min(t,this.decodedData.numberOfChannels),n=[];for(let t=0;t<s;t++){const s=this.decodedData.getChannelData(t),r=[],o=s.length/e;for(let t=0;t<e;t++){const e=s.slice(Math.floor(t*o),Math.ceil((t+1)*o));let n=0;for(let t=0;t<e.length;t++){const i=e[t];Math.abs(i)>Math.abs(n)&&(n=i)}r.push(Math.round(n*i)/i)}n.push(r)}return n}getDuration(){let t=super.getDuration()||0;return 0!==t&&t!==1/0||!this.decodedData||(t=this.decodedData.duration),t}toggleInteraction(t){this.options.interact=t}setTime(t){super.setTime(t),this.updateProgress(t),this.emit(\"timeupdate\",t)}seekTo(t){const e=this.getDuration()*t;this.setTime(e)}playPause(){return t(this,void 0,void 0,(function*(){return this.isPlaying()?this.pause():this.play()}))}stop(){this.pause(),this.setTime(0)}skip(t){this.setTime(this.getCurrentTime()+t)}empty(){this.load(\"\",[[0]],.001)}setMediaElement(t){this.unsubscribePlayerEvents(),super.setMediaElement(t),this.initPlayerEvents()}exportImage(){return t(this,arguments,void 0,(function*(t=\"image/png\",e=1,i=\"dataURL\"){return this.renderer.exportImage(t,e,i)}))}destroy(){var t;this.emit(\"destroy\"),null===(t=this.abortController)||void 0===t||t.abort(),this.plugins.forEach((t=>t.destroy())),this.subscriptions.forEach((t=>t())),this.unsubscribePlayerEvents(),this.timer.destroy(),this.renderer.destroy(),super.destroy()}}u.BasePlugin=class extends e{constructor(t){super(),this.subscriptions=[],this.options=t}onInit(){}_init(t){this.wavesurfer=t,this.onInit()}destroy(){this.emit(\"destroy\"),this.subscriptions.forEach((t=>t()))}},u.dom=r;export{u as default};\n","class t{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),this.listeners[t].add(e),null==i?void 0:i.once){const i=()=>{this.un(t,i),this.un(t,e)};return this.on(t,i),i}return()=>this.un(t,e)}un(t,e){var i;null===(i=this.listeners[t])||void 0===i||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach((t=>t(...e)))}}class e extends t{constructor(t){super(),this.subscriptions=[],this.options=t}onInit(){}_init(t){this.wavesurfer=t,this.onInit()}destroy(){this.emit(\"destroy\"),this.subscriptions.forEach((t=>t()))}}function i(t,e,i,n,s=3,r=0,o=100){if(!t)return()=>{};const a=matchMedia(\"(pointer: coarse)\").matches;let l=()=>{};const h=h=>{if(h.button!==r)return;h.preventDefault(),h.stopPropagation();let d=h.clientX,c=h.clientY,u=!1;const v=Date.now(),g=n=>{if(n.preventDefault(),n.stopPropagation(),a&&Date.now()-v<o)return;const r=n.clientX,l=n.clientY,h=r-d,g=l-c;if(u||Math.abs(h)>s||Math.abs(g)>s){const n=t.getBoundingClientRect(),{left:s,top:o}=n;u||(null==i||i(d-s,c-o),u=!0),e(h,g,r-s,l-o),d=r,c=l}},p=e=>{if(u){const i=e.clientX,s=e.clientY,r=t.getBoundingClientRect(),{left:o,top:a}=r;null==n||n(i-o,s-a)}l()},m=t=>{t.relatedTarget&&t.relatedTarget!==document.documentElement||p(t)},f=t=>{u&&(t.stopPropagation(),t.preventDefault())},b=t=>{u&&t.preventDefault()};document.addEventListener(\"pointermove\",g),document.addEventListener(\"pointerup\",p),document.addEventListener(\"pointerout\",m),document.addEventListener(\"pointercancel\",m),document.addEventListener(\"touchmove\",b,{passive:!1}),document.addEventListener(\"click\",f,{capture:!0}),l=()=>{document.removeEventListener(\"pointermove\",g),document.removeEventListener(\"pointerup\",p),document.removeEventListener(\"pointerout\",m),document.removeEventListener(\"pointercancel\",m),document.removeEventListener(\"touchmove\",b),setTimeout((()=>{document.removeEventListener(\"click\",f,{capture:!0})}),10)}};return t.addEventListener(\"pointerdown\",h),()=>{l(),t.removeEventListener(\"pointerdown\",h)}}function n(t,e){const i=e.xmlns?document.createElementNS(e.xmlns,t):document.createElement(t);for(const[t,s]of Object.entries(e))if(\"children\"===t)for(const[t,s]of Object.entries(e))\"string\"==typeof s?i.appendChild(document.createTextNode(s)):i.appendChild(n(t,s));else\"style\"===t?Object.assign(i.style,s):\"textContent\"===t?i.textContent=s:i.setAttribute(t,s.toString());return i}function s(t,e,i){const s=n(t,e||{});return null==i||i.appendChild(s),s}class r extends t{constructor(t,e,i=0){var n,s,r,o,a,l,h,d,c,u;super(),this.totalDuration=e,this.numberOfChannels=i,this.minLength=0,this.maxLength=1/0,this.contentEditable=!1,this.subscriptions=[],this.subscriptions=[],this.id=t.id||`region-${Math.random().toString(32).slice(2)}`,this.start=this.clampPosition(t.start),this.end=this.clampPosition(null!==(n=t.end)&&void 0!==n?n:t.start),this.drag=null===(s=t.drag)||void 0===s||s,this.resize=null===(r=t.resize)||void 0===r||r,this.resizeStart=null===(o=t.resizeStart)||void 0===o||o,this.resizeEnd=null===(a=t.resizeEnd)||void 0===a||a,this.color=null!==(l=t.color)&&void 0!==l?l:\"rgba(0, 0, 0, 0.1)\",this.minLength=null!==(h=t.minLength)&&void 0!==h?h:this.minLength,this.maxLength=null!==(d=t.maxLength)&&void 0!==d?d:this.maxLength,this.channelIdx=null!==(c=t.channelIdx)&&void 0!==c?c:-1,this.contentEditable=null!==(u=t.contentEditable)&&void 0!==u?u:this.contentEditable,this.element=this.initElement(),this.setContent(t.content),this.setPart(),this.renderPosition(),this.initMouseEvents()}clampPosition(t){return Math.max(0,Math.min(this.totalDuration,t))}setPart(){const t=this.start===this.end;this.element.setAttribute(\"part\",`${t?\"marker\":\"region\"} ${this.id}`)}addResizeHandles(t){const e={position:\"absolute\",zIndex:\"2\",width:\"6px\",height:\"100%\",top:\"0\",cursor:\"ew-resize\",wordBreak:\"keep-all\"},n=s(\"div\",{part:\"region-handle region-handle-left\",style:Object.assign(Object.assign({},e),{left:\"0\",borderLeft:\"2px solid rgba(0, 0, 0, 0.5)\",borderRadius:\"2px 0 0 2px\"})},t),r=s(\"div\",{part:\"region-handle region-handle-right\",style:Object.assign(Object.assign({},e),{right:\"0\",borderRight:\"2px solid rgba(0, 0, 0, 0.5)\",borderRadius:\"0 2px 2px 0\"})},t);this.subscriptions.push(i(n,(t=>this.onResize(t,\"start\")),(()=>null),(()=>this.onEndResizing()),1),i(r,(t=>this.onResize(t,\"end\")),(()=>null),(()=>this.onEndResizing()),1))}removeResizeHandles(t){const e=t.querySelector('[part*=\"region-handle-left\"]'),i=t.querySelector('[part*=\"region-handle-right\"]');e&&t.removeChild(e),i&&t.removeChild(i)}initElement(){const t=this.start===this.end;let e=0,i=100;this.channelIdx>=0&&this.channelIdx<this.numberOfChannels&&(i=100/this.numberOfChannels,e=i*this.channelIdx);const n=s(\"div\",{style:{position:\"absolute\",top:`${e}%`,height:`${i}%`,backgroundColor:t?\"none\":this.color,borderLeft:t?\"2px solid \"+this.color:\"none\",borderRadius:\"2px\",boxSizing:\"border-box\",transition:\"background-color 0.2s ease\",cursor:this.drag?\"grab\":\"default\",pointerEvents:\"all\"}});return!t&&this.resize&&this.addResizeHandles(n),n}renderPosition(){const t=this.start/this.totalDuration,e=(this.totalDuration-this.end)/this.totalDuration;this.element.style.left=100*t+\"%\",this.element.style.right=100*e+\"%\"}toggleCursor(t){var e;this.drag&&(null===(e=this.element)||void 0===e?void 0:e.style)&&(this.element.style.cursor=t?\"grabbing\":\"grab\")}initMouseEvents(){const{element:t}=this;t&&(t.addEventListener(\"click\",(t=>this.emit(\"click\",t))),t.addEventListener(\"mouseenter\",(t=>this.emit(\"over\",t))),t.addEventListener(\"mouseleave\",(t=>this.emit(\"leave\",t))),t.addEventListener(\"dblclick\",(t=>this.emit(\"dblclick\",t))),t.addEventListener(\"pointerdown\",(()=>this.toggleCursor(!0))),t.addEventListener(\"pointerup\",(()=>this.toggleCursor(!1))),this.subscriptions.push(i(t,(t=>this.onMove(t)),(()=>this.toggleCursor(!0)),(()=>{this.toggleCursor(!1),this.drag&&this.emit(\"update-end\")}))),this.contentEditable&&this.content&&(this.content.addEventListener(\"click\",(t=>this.onContentClick(t))),this.content.addEventListener(\"blur\",(()=>this.onContentBlur()))))}_onUpdate(t,e){if(!this.element.parentElement)return;const{width:i}=this.element.parentElement.getBoundingClientRect(),n=t/i*this.totalDuration,s=e&&\"start\"!==e?this.start:this.start+n,r=e&&\"end\"!==e?this.end:this.end+n,o=r-s;s>=0&&r<=this.totalDuration&&s<=r&&o>=this.minLength&&o<=this.maxLength&&(this.start=s,this.end=r,this.renderPosition(),this.emit(\"update\",e))}onMove(t){this.drag&&this._onUpdate(t)}onResize(t,e){this.resize&&(this.resizeStart||\"start\"!==e)&&(this.resizeEnd||\"end\"!==e)&&this._onUpdate(t,e)}onEndResizing(){this.resize&&this.emit(\"update-end\")}onContentClick(t){t.stopPropagation();t.target.focus(),this.emit(\"click\",t)}onContentBlur(){this.emit(\"update-end\")}_setTotalDuration(t){this.totalDuration=t,this.renderPosition()}play(){this.emit(\"play\")}setContent(t){var e;if(null===(e=this.content)||void 0===e||e.remove(),t){if(\"string\"==typeof t){const e=this.start===this.end;this.content=s(\"div\",{style:{padding:`0.2em ${e?.2:.4}em`,display:\"inline-block\"},textContent:t})}else this.content=t;this.contentEditable&&(this.content.contentEditable=\"true\"),this.content.setAttribute(\"part\",\"region-content\"),this.element.appendChild(this.content)}else this.content=void 0}setOptions(t){var e,i;if(t.color&&(this.color=t.color,this.element.style.backgroundColor=this.color),void 0!==t.drag&&(this.drag=t.drag,this.element.style.cursor=this.drag?\"grab\":\"default\"),void 0!==t.start||void 0!==t.end){const n=this.start===this.end;this.start=this.clampPosition(null!==(e=t.start)&&void 0!==e?e:this.start),this.end=this.clampPosition(null!==(i=t.end)&&void 0!==i?i:n?this.start:this.end),this.renderPosition(),this.setPart()}if(t.content&&this.setContent(t.content),t.id&&(this.id=t.id,this.setPart()),void 0!==t.resize&&t.resize!==this.resize){const e=this.start===this.end;this.resize=t.resize,this.resize&&!e?this.addResizeHandles(this.element):this.removeResizeHandles(this.element)}void 0!==t.resizeStart&&(this.resizeStart=t.resizeStart),void 0!==t.resizeEnd&&(this.resizeEnd=t.resizeEnd)}remove(){this.emit(\"remove\"),this.subscriptions.forEach((t=>t())),this.element.remove(),this.element=null}}class o extends e{constructor(t){super(t),this.regions=[],this.regionsContainer=this.initRegionsContainer()}static create(t){return new o(t)}onInit(){if(!this.wavesurfer)throw Error(\"WaveSurfer is not initialized\");this.wavesurfer.getWrapper().appendChild(this.regionsContainer);let t=[];this.subscriptions.push(this.wavesurfer.on(\"timeupdate\",(e=>{const i=this.regions.filter((t=>t.start<=e&&(t.end===t.start?t.start+.05:t.end)>=e));i.forEach((e=>{t.includes(e)||this.emit(\"region-in\",e)})),t.forEach((t=>{i.includes(t)||this.emit(\"region-out\",t)})),t=i})))}initRegionsContainer(){return s(\"div\",{style:{position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\",zIndex:\"3\",pointerEvents:\"none\"}})}getRegions(){return this.regions}avoidOverlapping(t){t.content&&setTimeout((()=>{const e=t.content,i=e.getBoundingClientRect(),n=this.regions.map((e=>{if(e===t||!e.content)return 0;const n=e.content.getBoundingClientRect();return i.left<n.left+n.width&&n.left<i.left+i.width?n.height:0})).reduce(((t,e)=>t+e),0);e.style.marginTop=`${n}px`}),10)}adjustScroll(t){var e,i;const n=null===(i=null===(e=this.wavesurfer)||void 0===e?void 0:e.getWrapper())||void 0===i?void 0:i.parentElement;if(!n)return;const{clientWidth:s,scrollWidth:r}=n;if(r<=s)return;const o=n.getBoundingClientRect(),a=t.element.getBoundingClientRect(),l=a.left-o.left,h=a.right-o.left;l<0?n.scrollLeft+=l:h>s&&(n.scrollLeft+=h-s)}virtualAppend(t,e,i){const n=()=>{if(!this.wavesurfer)return;const n=this.wavesurfer.getWidth(),s=this.wavesurfer.getScroll(),r=e.clientWidth,o=this.wavesurfer.getDuration(),a=Math.round(t.start/o*r),l=a+(Math.round((t.end-t.start)/o*r)||1)>s&&a<s+n;l&&!i.parentElement?e.appendChild(i):!l&&i.parentElement&&i.remove()};setTimeout((()=>{if(!this.wavesurfer)return;n();const e=this.wavesurfer.on(\"scroll\",n);this.subscriptions.push(t.once(\"remove\",e),e)}),0)}saveRegion(t){this.virtualAppend(t,this.regionsContainer,t.element),this.avoidOverlapping(t),this.regions.push(t);const e=[t.on(\"update\",(e=>{e||this.adjustScroll(t),this.emit(\"region-update\",t,e)})),t.on(\"update-end\",(()=>{this.avoidOverlapping(t),this.emit(\"region-updated\",t)})),t.on(\"play\",(()=>{var e,i;null===(e=this.wavesurfer)||void 0===e||e.play(),null===(i=this.wavesurfer)||void 0===i||i.setTime(t.start)})),t.on(\"click\",(e=>{this.emit(\"region-clicked\",t,e)})),t.on(\"dblclick\",(e=>{this.emit(\"region-double-clicked\",t,e)})),t.once(\"remove\",(()=>{e.forEach((t=>t())),this.regions=this.regions.filter((e=>e!==t)),this.emit(\"region-removed\",t)}))];this.subscriptions.push(...e),this.emit(\"region-created\",t)}addRegion(t){var e,i;if(!this.wavesurfer)throw Error(\"WaveSurfer is not initialized\");const n=this.wavesurfer.getDuration(),s=null===(i=null===(e=this.wavesurfer)||void 0===e?void 0:e.getDecodedData())||void 0===i?void 0:i.numberOfChannels,o=new r(t,n,s);return n?this.saveRegion(o):this.subscriptions.push(this.wavesurfer.once(\"ready\",(t=>{o._setTotalDuration(t),this.saveRegion(o)}))),o}enableDragSelection(t,e=3){var n;const s=null===(n=this.wavesurfer)||void 0===n?void 0:n.getWrapper();if(!(s&&s instanceof HTMLElement))return()=>{};let o=null,a=0;return i(s,((t,e,i)=>{o&&o._onUpdate(t,i>a?\"end\":\"start\")}),(e=>{var i,n;if(a=e,!this.wavesurfer)return;const s=this.wavesurfer.getDuration(),l=null===(n=null===(i=this.wavesurfer)||void 0===i?void 0:i.getDecodedData())||void 0===n?void 0:n.numberOfChannels,{width:h}=this.wavesurfer.getWrapper().getBoundingClientRect(),d=e/h*s,c=(e+5)/h*s;o=new r(Object.assign(Object.assign({},t),{start:d,end:c}),s,l),this.regionsContainer.appendChild(o.element)}),(()=>{o&&(this.saveRegion(o),o=null)}),e)}clearRegions(){this.regions.slice().forEach((t=>t.remove())),this.regions=[]}destroy(){this.clearRegions(),super.destroy(),this.regionsContainer.remove()}}export{o as default};\n","import { Controller } from \"@hotwired/stimulus\";\nimport WaveSurfer from \"wavesurfer.js\";\nimport RegionsPlugin from 'wavesurfer.js/dist/plugins/regions.esm.js';\n\nexport default class extends Controller {\n static targets = [\"playlists\", \"audioFiles\", \"selectedSound\", \"duration\"];\n\n connect() {\n this.renderPlaylists();\n setTimeout(() => {\n const firstPlaylistButton = this.playlistsTarget.querySelector(\"p\");\n if (firstPlaylistButton) {\n firstPlaylistButton.click();\n }\n }, 0); \n }\n\n // Variable pour stocker la piste et le bouton actuellement en lecture\n currentPlayingWaveSurfer = null;\n currentPlayButton = null;\n\n async fetchAudioFiles(playlistId, clickedButton) {\n const apiKey = \"mRfypJQ8Kiwn6YCXjWUCM7i66iADv4OlL2PP8CeELy9MeGUq8Mr6v3kYBr7oyOjt\";\n\n try {\n const response = await fetch(\n `https://api.soundstripe.com/v1/playlists/${playlistId}?include=songs.audio_files&page[size]=15&page[number]=1`,\n {\n headers: {\n Authorization: `Bearer ${apiKey}`,\n },\n }\n );\n\n if (!response.ok) {\n throw new Error(\"Failed to fetch audio files\");\n }\n\n const data = await response.json();\n const songsData = data.included.filter((item) => item.type === \"songs\");\n const audioFilesData = data.included.filter(\n (item) => item.type === \"audio_files\"\n );\n const audioFilesWithTitles = audioFilesData.map((audioFile) => {\n const song = songsData.find(\n (song) => song.id === audioFile.attributes.song_id\n );\n return {\n ...audioFile,\n songTitle: song ? song.attributes.title : \"Unknown Title\",\n url: audioFile.attributes.versions.mp3,\n };\n });\n\n this.displayAudioFiles(audioFilesWithTitles);\n\n // Gestion de la sélection visuelle des playlists\n this.updatePlaylistStyles(clickedButton);\n\n } catch (error) {\n console.error(\"Error fetching audio files:\", error);\n }\n }\n\n displayAudioFiles(audioFiles) {\n const audioFilesContainer = this.audioFilesTarget;\n audioFilesContainer.innerHTML = \"\"; // Clear container before rendering\n \n let selectedAudioItem = null;\n let currentWaveSurfer = null;\n let currentRegion = null;\n \n audioFiles.forEach((audioFile) => {\n const audioItem = document.createElement(\"div\");\n audioItem.classList.add(\"flex\", \"justify-between\", \"items-center\", \"border-b\", \"border-gray-200\", \"cursor-pointer\", \"p-3\", \"hover:bg-brand_lighter/30\");\n \n const infoContainer = document.createElement(\"div\");\n infoContainer.classList.add(\"flex\", \"gap-3\", \"items-center\");\n \n const title = document.createElement(\"p\");\n title.classList.add(\"text-gray-900\", \"truncate\", \"w-40\");\n title.innerText = audioFile.songTitle;\n \n infoContainer.appendChild(title);\n \n const waveformContainer = document.createElement(\"div\");\n waveformContainer.style.width = \"500px\";\n waveformContainer.id = `waveform-${audioFile.id}`;\n \n const plugins = RegionsPlugin.create({});\n const ws = WaveSurfer.create({\n container: waveformContainer,\n waveColor: \"rgb(67,56,202)\",\n progressColor: \"rgb(67,56,202)\",\n height: 80,\n backend: \"MediaElement\",\n url: audioFile.url,\n pixelRatio: 0,\n plugins: [plugins],\n });\n \n const controlsContainer = document.createElement(\"div\");\n controlsContainer.classList.add(\"flex\", \"gap-4\");\n \n const playFullAudioBtn = document.createElement(\"div\");\n playFullAudioBtn.classList.add(\"bg-brand_main\", \"text-white\", \"py-2\", \"px-2\", \"rounded\", \"text-sm\");\n playFullAudioBtn.innerText = \"Play Audio\";\n playFullAudioBtn.onclick = () => {\n if (this.currentPlayingWaveSurfer && this.currentPlayingWaveSurfer !== ws) {\n this.currentPlayingWaveSurfer.pause();\n this.currentPlayingWaveSurfer.seekTo(0);\n this.currentPlayButton.innerText = \"Play Audio\"; \n }\n \n ws.playPause();\n playFullAudioBtn.innerText = ws.isPlaying() ? \"Pause Audio\" : \"Play Audio\";\n \n this.currentPlayingWaveSurfer = ws.isPlaying() ? ws : null;\n this.currentPlayButton = ws.isPlaying() ? playFullAudioBtn : null;\n };\n controlsContainer.appendChild(playFullAudioBtn);\n \n audioItem.appendChild(infoContainer);\n audioItem.appendChild(waveformContainer);\n audioItem.appendChild(controlsContainer);\n audioFilesContainer.appendChild(audioItem);\n \n ws.on(\"interaction\", () => {\n const clickPosition = ws.getCurrentTime();\n \n if (currentRegion) {\n currentRegion.remove();\n }\n \n if (selectedAudioItem) {\n selectedAudioItem.classList.remove(\"bg-brand_lighter/30\");\n }\n \n currentRegion = ws.plugins[0].addRegion({\n start: clickPosition,\n end: clickPosition,\n color: \"red\",\n drag: false, // Désactive le drag\n resize: false, // Désactive la redimension\n });\n \n audioItem.classList.add(\"bg-brand_lighter/30\");\n selectedAudioItem = audioItem;\n \n document.getElementById(\"audio-start\").value = clickPosition;\n document.getElementById(\"audio-end\").value = ws.getDuration();\n document.getElementById(\"audio-url\").value = audioFile.url;\n document.getElementById(\"song-selected\").value = \"true\";\n \n ws.seekTo(clickPosition / ws.getDuration());\n this.render_selected_sound_info(clickPosition, ws.getDuration(), audioFile.songTitle);\n this.render_duration_info(clickPosition, ws.getDuration());\n });\n });\n }\n \n render_selected_sound_info(start, end, sound_name) {\n const formattedStart = this.formatTime(start);\n const formattedEnd = this.formatTime(end);\n \n this.selectedSoundTarget.innerText = `${sound_name} - Début : ${formattedStart} - Fin : ${formattedEnd}`;\n }\n\n render_duration_info(start, end) {\n const duration = end - start;\n const formattedDuration = this.formatTime(duration);\n this.durationTarget.innerText = `Durée : ${formattedDuration}`;\n }\n \n formatTime(timeInSeconds) {\n if (timeInSeconds < 30) {\n return `${Math.round(timeInSeconds)} sec`;\n } else {\n const minutes = Math.floor(timeInSeconds / 60);\n const seconds = Math.round(timeInSeconds % 60);\n return `${minutes}:${seconds < 10 ? '0' : ''}${seconds} min`;\n }\n }\n\n renderPlaylists() {\n const playlistMap = {\n \"The Vocal Vault\": \"9821\",\n \"Epic Score\": \"97299\",\n \"Adrenaline Junkie\": \"97298\",\n Quirky: \"9\",\n \"Young and Free\": \"868\",\n \"Rock Rock Rock\": \"8006\",\n \"Holiday Vocals\": \"76589\",\n \"Fall Vibes\": \"75\",\n Chill: \"7457\",\n \"Indie Radio\": \"73\",\n };\n\n const playlistsContainer = this.playlistsTarget;\n\n playlistsContainer.innerHTML = \"\"; // Clear container\n\n Object.keys(playlistMap).forEach(playlist => {\n const playlistId = playlistMap[playlist];\n\n const button = document.createElement(\"p\");\n button.classList.add(\"text-xs\", \"border\", \"border-brand_main\", \"rounded-full\", \"px-2.5\", \"py-1\", \"cursor-pointer\", \"text-brand_main\", \"bg-white\");\n\n button.innerText = playlist;\n button.addEventListener(\"click\", () => {\n this.fetchAudioFiles(playlistId, button);\n });\n\n playlistsContainer.appendChild(button);\n });\n }\n\n updatePlaylistStyles(clickedButton) {\n const allButtons = this.playlistsTarget.querySelectorAll(\"p\");\n\n allButtons.forEach(button => {\n if (button === clickedButton) {\n button.classList.add(\"bg-brand_main\", \"text-white\");\n button.classList.remove(\"bg-white\", \"text-brand_main\");\n } else {\n button.classList.add(\"bg-white\", \"text-brand_main\");\n button.classList.remove(\"bg-brand_main\", \"text-white\");\n }\n });\n }\n}","import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static values = { subdomain: String };\n\n connect() {\n if (this.widgetId) {\n window.STONLY_WID = this.widgetId;\n // On dom load\n document.addEventListener(\"DOMContentLoaded\", this.initializeStonly);\n // Reinitialize on every Turbo navigation\n document.addEventListener(\"turbo:load\", this.initializeStonly);\n }\n }\n\n get widgetId() {\n switch (this.subdomainValue) {\n case \"app\":\n return \"68263440-33bb-11ef-a9d4-06cb0cb2a85e\";\n case \"immolike\":\n return \"cb4eadfd-821e-11ee-bc11-06cb0cb2a85e\";\n default:\n return null;\n }\n }\n\n initializeStonly() {\n // Clear the previous Stonly instance\n window.StonlyWidget = null;\n\n // ça marche pas si c'est immédiat (voir turbo:load)\n setTimeout(() => {\n // Initialize with corrected domains and paths\n !(function (s, t, o, n, l, y, w, g, d, e) {\n s.StonlyWidget ||\n (((d = s.StonlyWidget =\n function () {\n d._api ? d._api.apply(d, arguments) : d.queue.push(arguments);\n }).scriptPath = n),\n (d.apiPath = l),\n (d.sPath = y),\n (d.queue = []),\n ((g = t.createElement(o)).async = !0),\n (e = new XMLHttpRequest()).open(\n \"GET\",\n n + \"version?v=\" + Date.now(),\n !0\n ),\n (e.onreadystatechange = function () {\n 4 === e.readyState &&\n ((g.src =\n n +\n \"stonly-widget.js?v=\" +\n (200 === e.status ? e.responseText : Date.now())),\n (w = t.getElementsByTagName(o)[0]).parentNode.insertBefore(g, w));\n }),\n e.send());\n })(window, document, \"script\", \"https://stonly.com/js/widget/v2/\");\n }, 500);\n }\n}\n","let consumer\n\nexport async function getConsumer() {\n return consumer || setConsumer(createConsumer().then(setConsumer))\n}\n\nexport function setConsumer(newConsumer) {\n return consumer = newConsumer\n}\n\nexport async function createConsumer() {\n const { createConsumer } = await import(/* webpackChunkName: \"actioncable\" */ \"@rails/actioncable/src\")\n return createConsumer()\n}\n\nexport async function subscribeTo(channel, mixin) {\n const { subscriptions } = await getConsumer()\n return subscriptions.create(channel, mixin)\n}\n","// Based on https://github.com/nathan7/snakeize\n//\n// This software is released under the MIT license:\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\nexport default function walk (obj) {\n if (!obj || typeof obj !== 'object') return obj;\n if (obj instanceof Date || obj instanceof RegExp) return obj;\n if (Array.isArray(obj)) return obj.map(walk);\n return Object.keys(obj).reduce(function (acc, key) {\n var camel = key[0].toLowerCase() + key.slice(1).replace(/([A-Z]+)/g, function (m, x) {\n return '_' + x.toLowerCase();\n });\n acc[camel] = walk(obj[key]);\n return acc;\n }, {});\n};","import { connectStreamSource, disconnectStreamSource } from \"@hotwired/turbo\"\nimport { subscribeTo } from \"./cable\"\nimport snakeize from \"./snakeize\"\n\nclass TurboCableStreamSourceElement extends HTMLElement {\n static observedAttributes = [\"channel\", \"signed-stream-name\"]\n\n async connectedCallback() {\n connectStreamSource(this)\n this.subscription = await subscribeTo(this.channel, {\n received: this.dispatchMessageEvent.bind(this),\n connected: this.subscriptionConnected.bind(this),\n disconnected: this.subscriptionDisconnected.bind(this)\n })\n }\n\n disconnectedCallback() {\n disconnectStreamSource(this)\n if (this.subscription) this.subscription.unsubscribe()\n this.subscriptionDisconnected()\n }\n\n attributeChangedCallback() {\n if (this.subscription) {\n this.disconnectedCallback()\n this.connectedCallback()\n }\n }\n\n dispatchMessageEvent(data) {\n const event = new MessageEvent(\"message\", { data })\n return this.dispatchEvent(event)\n }\n\n subscriptionConnected() {\n this.setAttribute(\"connected\", \"\")\n }\n\n subscriptionDisconnected() {\n this.removeAttribute(\"connected\")\n }\n\n get channel() {\n const channel = this.getAttribute(\"channel\")\n const signed_stream_name = this.getAttribute(\"signed-stream-name\")\n return { channel, signed_stream_name, ...snakeize({ ...this.dataset }) }\n }\n}\n\n\nif (customElements.get(\"turbo-cable-stream-source\") === undefined) {\n customElements.define(\"turbo-cable-stream-source\", TurboCableStreamSourceElement)\n}\n","export function encodeMethodIntoRequestBody(event) {\n if (event.target instanceof HTMLFormElement) {\n const { target: form, detail: { fetchOptions } } = event\n\n form.addEventListener(\"turbo:submit-start\", ({ detail: { formSubmission: { submitter } } }) => {\n const body = isBodyInit(fetchOptions.body) ? fetchOptions.body : new URLSearchParams()\n const method = determineFetchMethod(submitter, body, form)\n\n if (!/get/i.test(method)) {\n if (/post/i.test(method)) {\n body.delete(\"_method\")\n } else {\n body.set(\"_method\", method)\n }\n\n fetchOptions.method = \"post\"\n }\n }, { once: true })\n }\n}\n\nfunction determineFetchMethod(submitter, body, form) {\n const formMethod = determineFormMethod(submitter)\n const overrideMethod = body.get(\"_method\")\n const method = form.getAttribute(\"method\") || \"get\"\n\n if (typeof formMethod == \"string\") {\n return formMethod\n } else if (typeof overrideMethod == \"string\") {\n return overrideMethod\n } else {\n return method\n }\n}\n\nfunction determineFormMethod(submitter) {\n if (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement) {\n // Rails 7 ActionView::Helpers::FormBuilder#button method has an override\n // for formmethod if the button does not have name or value attributes\n // set, which is the default. This means that if you use <%= f.button\n // formmethod: :delete %>, it will generate a <button name=\"_method\"\n // value=\"delete\" formmethod=\"post\">. Therefore, if the submitter's name\n // is already _method, it's value attribute already contains the desired\n // method.\n if (submitter.name === '_method') {\n return submitter.value\n } else if (submitter.hasAttribute(\"formmethod\")) {\n return submitter.formMethod\n } else {\n return null\n }\n } else {\n return null\n }\n}\n\nfunction isBodyInit(body) {\n return body instanceof FormData || body instanceof URLSearchParams\n}\n","import \"./cable_stream_source_element\"\n\nimport * as Turbo from \"@hotwired/turbo\"\nexport { Turbo }\n\nimport * as cable from \"./cable\"\nexport { cable }\n\nimport { encodeMethodIntoRequestBody } from \"./fetch_requests\"\n\nwindow.Turbo = Turbo\n\naddEventListener(\"turbo:before-fetch-request\", encodeMethodIntoRequestBody)\n","// src/index.ts\nvar CONTROLLER_FILENAME_REGEX = /^(?:.*?(?:controllers|components)\\/|\\.?\\.\\/)?(.+)(?:[/_-]controller\\..+?)$/;\nfunction registerControllers(application, controllerModules) {\n application.load(definitionsFromGlob(controllerModules));\n}\nfunction definitionsFromGlob(controllerModules) {\n return Object.entries(controllerModules).map(definitionFromEntry).filter((value) => value);\n}\nfunction definitionFromEntry([name, controllerModule]) {\n var _a;\n const identifier = identifierForGlobKey(name);\n const controllerConstructor = (_a = controllerModule.default) != null ? _a : controllerModule;\n if (identifier && typeof controllerConstructor === \"function\")\n return { identifier, controllerConstructor };\n}\nfunction identifierForGlobKey(key) {\n const logicalName = (key.match(CONTROLLER_FILENAME_REGEX) || [])[1];\n if (logicalName)\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n}\nexport {\n CONTROLLER_FILENAME_REGEX,\n definitionsFromGlob,\n identifierForGlobKey,\n registerControllers\n};\n","import { Controller as i } from \"@hotwired/stimulus\";\nclass s extends i {\n connect() {\n this.hidden = this.inputTarget.type === \"password\", this.class = this.hasHiddenClass ? this.hiddenClass : \"hidden\";\n }\n toggle(t) {\n t.preventDefault(), this.inputTarget.type = this.hidden ? \"text\" : \"password\", this.hidden = !this.hidden, this.iconTargets.forEach((e) => e.classList.toggle(this.class));\n }\n}\ns.targets = [\"input\", \"icon\"];\ns.classes = [\"hidden\"];\nexport {\n s as default\n};\n","import { Controller as e } from \"@hotwired/stimulus\";\nclass t extends e {\n connect() {\n this.class = this.hasHiddenClass ? this.hiddenClass : \"hidden\";\n }\n toggle() {\n this.itemTargets.forEach((s) => {\n s.classList.toggle(this.class);\n });\n }\n show() {\n this.itemTargets.forEach((s) => {\n s.classList.remove(this.class);\n });\n }\n hide() {\n this.itemTargets.forEach((s) => {\n s.classList.add(this.class);\n });\n }\n}\nt.targets = [\"item\"];\nt.classes = [\"hidden\"];\nexport {\n t as default\n};\n","/**!\n * Sortable 1.15.6\n * @author\tRubaXa <trash@rubaxa.org>\n * @author\towenm <owen23355@gmail.com>\n * @license MIT\n */\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = _objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar version = \"1.15.6\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !! /*@__PURE__*/navigator.userAgent.match(pattern);\n }\n}\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\nfunction matches( /**HTMLElement*/el, /**String*/selector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n return false;\n}\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\nfunction closest( /**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n return null;\n}\nvar R_SPACE = /\\s+/g;\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\nfunction css(el, prop, val) {\n var style = el && el.style;\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n } while (!selfOnly && (el = el.parentNode));\n }\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n return matrixFn && new matrixFn(appliedTransforms);\n}\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n return list;\n }\n return [];\n}\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n\n/**\r\n * Returns the \"bounding client rect\" of given element\r\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\r\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\r\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\r\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\r\n * @param {[HTMLElement]} container The parent the element will be placed in\r\n * @return {Object} The boundingClientRect of el, with specified adjustments\r\n */\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode;\n\n // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect();\n\n // Set relative to edges of padding box of container\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n } while (container = container.parentNode);\n }\n }\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n\n/**\r\n * Checks if a side of an element is scrolled past a side of its parents\r\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\r\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\r\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\r\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\r\n */\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n\n /* jshint boss:true */\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n return false;\n}\n\n/**\r\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\r\n * and non-draggable elements\r\n * @param {HTMLElement} el The parent element\r\n * @param {Number} childNum The index of the child\r\n * @param {Object} options Parent Sortable's options\r\n * @return {HTMLElement} The child at index childNum, or null if not found\r\n */\nfunction getChild(el, childNum, options, includeDragEl) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n currentChild++;\n }\n i++;\n }\n return null;\n}\n\n/**\r\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\r\n * @param {HTMLElement} el Parent element\r\n * @param {selector} selector Any other elements that should be ignored\r\n * @return {HTMLElement} The last child, ignoring ghostEl\r\n */\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n return last || null;\n}\n\n/**\r\n * Returns the index of an element within its parent for a selected set of\r\n * elements\r\n * @param {HTMLElement} el\r\n * @param {selector} selector\r\n * @return {number}\r\n */\nfunction index(el, selector) {\n var index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n\n /* jshint boss:true */\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n return index;\n}\n\n/**\r\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\r\n * The value is returned in real pixels.\r\n * @param {HTMLElement} el\r\n * @return {Array} Offsets in the format of [left, top]\r\n */\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n return [offsetLeft, offsetTop];\n}\n\n/**\r\n * Returns the index of the object within the given array\r\n * @param {Array} arr Array that may or may not hold the object\r\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\r\n * @return {Number} The index of the object in the array, or -1\r\n */\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n return -1;\n}\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n } while (elem = elem.parentNode);\n return getWindowScrollingElement();\n}\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n return dst;\n}\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\nvar _throttleTimeout;\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\nfunction getChildContainingRectFromElement(container, options, ghostEl) {\n var rect = {};\n Array.from(container.children).forEach(function (child) {\n var _rect$left, _rect$top, _rect$right, _rect$bottom;\n if (!closest(child, options.draggable, container, false) || child.animated || child === ghostEl) return;\n var childRect = getRect(child);\n rect.left = Math.min((_rect$left = rect.left) !== null && _rect$left !== void 0 ? _rect$left : Infinity, childRect.left);\n rect.top = Math.min((_rect$top = rect.top) !== null && _rect$top !== void 0 ? _rect$top : Infinity, childRect.top);\n rect.right = Math.max((_rect$right = rect.right) !== null && _rect$right !== void 0 ? _rect$right : -Infinity, childRect.right);\n rect.bottom = Math.max((_rect$bottom = rect.bottom) !== null && _rect$bottom !== void 0 ? _rect$bottom : -Infinity, childRect.bottom);\n });\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);\n\n // If animating: compensate for current animation\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n target.toRect = toRect;\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) &&\n // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n }\n\n // if fromRect != toRect: animate\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n if (!time) {\n time = _this.options.animation;\n }\n _this.animate(target, animatingRect, toRect, time);\n }\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\nfunction repaint(target) {\n return target.offsetWidth;\n}\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n this.eventCanceled = false;\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return;\n // Fire global events if it exists in this sortable\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n\n // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized;\n\n // Add default options from plugin\n _extends(defaults, initialized.defaults);\n });\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return;\n\n // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);\n // Support for new CustomEvent feature\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar _excluded = [\"evt\"];\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, _excluded);\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread2({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\n ghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n\n _silent = false,\n savedInputChecked = [];\n\n/** @const */\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\n supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return;\n // false when <= IE11\n if (IE11OrLess) {\n return false;\n }\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n }(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n },\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n },\n /**\r\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\r\n * @param {Number} x X position\r\n * @param {Number} y Y position\r\n * @return {HTMLElement} Element of the first found nearest Sortable\r\n */\n _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n var threshold = sortable[expando].options.emptyInsertThreshold;\n if (!threshold || lastChild(sortable)) return;\n var rect = getRect(sortable),\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n if (insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n },\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n var group = {};\n var originalGroup = options.group;\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n },\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n },\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n };\n\n// #1184 fix - Prevent click event on fallback if dragged but item not changed position\nif (documentExists && !ChromeForAndroid) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n if (nearest) {\n // Create imitation event\n var event = {};\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n nearest[expando]._onDragOver(event);\n }\n }\n};\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n\n/**\r\n * @class Sortable\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n this.el = el; // root element\n this.options = options = _extends({}, options);\n\n // Export instance\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n // Disabled on Safari: #1571; Enabled on Safari IOS: #2244\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && (!Safari || IOS),\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults);\n\n // Set default options\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n _prepareGroup(options);\n\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n // Setup drag mode\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n }\n\n // Bind events\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n sortables.push(this.el);\n\n // Restore sorting\n options.store && options.store.get && this.sort(options.store.get(this) || []);\n\n // Add animation state manager\n _extends(this, AnimationStateManager());\n}\nSortable.prototype = /** @lends Sortable.prototype */{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart( /** Event|TouchEvent */evt) {\n if (!evt.cancelable) return;\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n _saveInputCheckedState(el);\n\n // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n if (dragEl) {\n return;\n }\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n }\n\n // cancel dnd if original target is content editable\n if (originalTarget.isContentEditable) {\n return;\n }\n\n // Safari ignores further event handling after mousedown\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n target = closest(target, options.draggable, el, false);\n if (target && target.animated) {\n return;\n }\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n }\n\n // Get the index of the dragged element within its parent\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable);\n\n // Check filter\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n if (filter) {\n preventOnFilter && evt.preventDefault();\n return; // cancel dnd\n }\n }\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n }\n\n // Prepare `dragstart`\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart( /** Event */evt, /** Touch */touch, /** HTMLElement */target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n if (Sortable.eventCanceled) {\n _this._onDrop();\n return;\n }\n // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n _this._disableDelayedDragEvents();\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n }\n\n // Bind the events: dragstart/dragend\n _this._triggerDragStart(evt, touch);\n\n // Drag start event\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n });\n\n // Chosen item\n toggleClass(dragEl, options.chosenClass, true);\n };\n\n // Disable \"draggable\"\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n if (options.supportPointer) {\n on(ownerDocument, 'pointerup', _this._onDrop);\n // Native D&D triggers pointercancel\n !this.nativeDraggable && on(ownerDocument, 'pointercancel', _this._onDrop);\n } else {\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop);\n }\n\n // Make dragEl draggable (must be before delay for FireFox)\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n pluginEvent('delayStart', this, {\n evt: evt\n });\n\n // Delay is impossible for native DnD in Edge or IE\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n return;\n }\n // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n if (options.supportPointer) {\n on(ownerDocument, 'pointerup', _this._disableDelayedDrag);\n on(ownerDocument, 'pointercancel', _this._disableDelayedDrag);\n } else {\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n }\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/e) {\n var touch = e.touches ? e.touches[0] : e;\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'pointerup', this._disableDelayedDrag);\n off(ownerDocument, 'pointercancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart( /** Event */evt, /** Touch */touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n try {\n if (document.selection) {\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n awaitingDragStarted = false;\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n var options = this.options;\n\n // Apply effect\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost();\n\n // Drag start event\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n _hideGhostForTarget();\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n target = parent; // store last element\n }\n /* jshint boss:true */ while (parent = getParentOrHost(parent));\n }\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove( /**TouchEvent*/evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);\n\n // only set the status to dragging, when we are actually dragging\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n this._onDragStart(evt, true);\n }\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options;\n\n // Position absolutely\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl);\n\n // Set transform-origin\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart( /**Event*/evt, /**boolean*/fallback) {\n var _this = this;\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n if (Sortable.eventCanceled) {\n this._onDrop();\n return;\n }\n pluginEvent('setupClone', this);\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.removeAttribute(\"id\");\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n this._hideClone();\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n }\n\n // #1143: IFrame support workaround\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n _this._hideClone();\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true);\n\n // Set proper drop events\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n on(document, 'drop', _this);\n\n // #1276 fix:\n css(dragEl, 'transform', 'translateZ(0)');\n }\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n window.getSelection().removeAllRanges();\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver( /**Event*/evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n if (_silent) return;\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread2({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n }\n\n // Capture animation state\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n _this.captureAnimationState();\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n }\n\n // Return invocation when dragEl is inserted (or completed)\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n }\n\n // Animation\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n }\n\n // Null lastTarget if it is not inside a previously swapped element\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n }\n\n // no bubbling and not fallback\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n\n // Do not detect for empty insert if already inserted\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n }\n\n // Call when dragEl has been inserted\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n ignoreNextClick = false;\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n if (revert) {\n parentEl = rootEl; // actualization\n capture();\n this._hideClone();\n dragOverEvent('revert');\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n return completed(true);\n }\n var elLastChild = lastChild(el, options.draggable);\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // Insert to end of list\n\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n }\n\n // if there is a last element, it is the target\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n if (target) {\n targetRect = getRect(target);\n }\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n if (elLastChild && elLastChild.nextSibling) {\n // the last draggable element is not the last node\n el.insertBefore(dragEl, elLastChild.nextSibling);\n } else {\n el.appendChild(dragEl);\n }\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {\n // Insert to start of list\n var firstChild = getChild(el, 0, options, true);\n if (firstChild === dragEl) {\n return completed(false);\n }\n target = firstChild;\n targetRect = getRect(target);\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {\n capture();\n el.insertBefore(dragEl, firstChild);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n }\n // If dragEl is already beside target: Do not insert\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n }\n\n // Undo chrome's scroll adjustment (has no effect on other browsers)\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n parentEl = dragEl.parentNode; // actualization\n\n // must be done before animation\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n changed();\n return completed(true);\n }\n }\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'pointercancel', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop( /**Event*/evt) {\n var el = this.el,\n options = this.options;\n\n // Get the index of the dragged element within its parent\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode;\n\n // Get again after plugin event\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n if (Sortable.eventCanceled) {\n this._nulling();\n return;\n }\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n _cancelNextTick(this.cloneId);\n _cancelNextTick(this._dragStartId);\n\n // Unbind events\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n this._offMoveEvents();\n this._offUpEvents();\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n css(dragEl, 'transform', '');\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n _disableDraggable(dragEl);\n dragEl.style['will-change'] = '';\n\n // Remove classes\n // ghostClass is added in dragStarted\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n toggleClass(dragEl, this.options.chosenClass, false);\n\n // Drag stop event\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n // Remove event\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n });\n\n // drag from one list and drop into another\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n });\n\n // Save sorting\n this.save();\n }\n }\n }\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent( /**Event*/evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n break;\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n _globalDragOver(evt);\n }\n break;\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n /**\r\n * Serializes the item into an array of string.\r\n * @returns {String[]}\r\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n for (; i < n; i++) {\n el = children[i];\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n return order;\n },\n /**\r\n * Sorts the elements according to the array.\r\n * @param {String[]} order order of the items\r\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n /**\r\n * Save the current sorting\r\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n /**\r\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\r\n * @param {HTMLElement} el\r\n * @param {String} [selector] default: `options.draggable`\r\n * @returns {HTMLElement|null}\r\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n /**\r\n * Set/get option\r\n * @param {string} name\r\n * @param {*} [value]\r\n * @returns {*}\r\n */\n option: function option(name, value) {\n var options = this.options;\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n /**\r\n * Destroy\r\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n }\n // Remove draggable attributes\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n this._onDrop();\n this._disableDelayedDragEvents();\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n return;\n }\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return;\n\n // show clone at dragEl or original position\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\nfunction _globalDragOver( /**Event*/evt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n evt.cancelable && evt.preventDefault();\n}\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal;\n // Support for new CustomEvent feature\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n return retVal;\n}\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\nfunction _unsilent() {\n _silent = false;\n}\nfunction _ghostIsFirst(evt, vertical, sortable) {\n var firstElRect = getRect(getChild(sortable.el, 0, sortable.options, true));\n var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);\n var spacer = 10;\n return vertical ? evt.clientX < childContainingRect.left - spacer || evt.clientY < firstElRect.top && evt.clientX < firstElRect.right : evt.clientY < childContainingRect.top - spacer || evt.clientY < firstElRect.bottom && evt.clientX < firstElRect.left;\n}\nfunction _ghostIsLast(evt, vertical, sortable) {\n var lastElRect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);\n var spacer = 10;\n return vertical ? evt.clientX > childContainingRect.right + spacer || evt.clientY > lastElRect.bottom && evt.clientX > lastElRect.left : evt.clientY > childContainingRect.bottom + spacer || evt.clientX > lastElRect.right && evt.clientY > lastElRect.top;\n}\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n invert = invert || invertSwap;\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n return 0;\n}\n\n/**\r\n * Gets the direction dragEl must be swapped relative to target in order to make it\r\n * seem that dragEl has been \"inserted\" into that element's position\r\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\r\n * @return {Number} Direction dragEl must be swapped\r\n */\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n\n/**\r\n * Generate id\r\n * @param {HTMLElement} el\r\n * @returns {String}\r\n * @private\r\n */\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n while (i--) {\n sum += str.charCodeAt(i);\n }\n return sum.toString(36);\n}\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n}\n\n// Fixed #973:\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n}\n\n// Export utils\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild,\n expando: expando\n};\n\n/**\r\n * Get the Sortable instance of an element\r\n * @param {HTMLElement} element The element\r\n * @return {Sortable|undefined} The instance of Sortable\r\n */\nSortable.get = function (element) {\n return element[expando];\n};\n\n/**\r\n * Mount a plugin to Sortable\r\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\r\n */\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n\n/**\r\n * Create sortable instance\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n};\n\n// Export\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n forceAutoScrollFallback: false,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n };\n\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt;\n\n // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback);\n\n // Listener for pointer element change\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval();\n // Detect for pointer elem change, emulating native DnD behaviour\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn;\n\n // New scroll root, set scrollEl\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n var layersOut = 0;\n var currentParent = scrollEl;\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n }\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\nfunction Revert() {}\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n this.sortable.animateAll();\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\nfunction Remove() {}\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\n multiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\n folding = false,\n // Folding any other time\n dragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n if (!sortable.options.avoidImplicitDeselect) {\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n }\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n avoidImplicitDeselect: false,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n dataTransfer.setData('Text', data);\n }\n };\n }\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n sortable._hideClone();\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n });\n\n // Sort multi-drag elements\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n\n sortable.captureAnimationState();\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n }\n\n // Remove all auxiliary multidrag items from el, if sorting enabled\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n initialFolding = false;\n // If leaving sort:false root, or already folding - Fold to new location\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute);\n\n // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n }\n\n // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n activeSortable._showClone(sortable);\n\n // Unfold animation for clones if showing from hidden\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children;\n\n // Multi-drag selection\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n\n // Modifier activated, select from last to dragEl\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n (function () {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n var filter = options.filter;\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n // Check if element is draggable\n if (!closest(children[i], options.draggable, parentEl, false)) continue;\n // Check if element is filtered\n var filtered = filter && (typeof filter === 'function' ? filter.call(sortable, evt, children[i], sortable) : filter.split(',').some(function (criteria) {\n return closest(children[i], criteria.trim(), parentEl, false);\n }));\n if (filtered) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvent: evt\n });\n }\n })();\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n }\n }\n\n // Multi-drag drop\n if (dragStarted && this.isMultiDrag) {\n folding = false;\n // Do not \"unfold\" after around dragEl if reverted\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect;\n\n // Prepare unfold animation\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n }\n\n // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n multiDragIndex++;\n });\n\n // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n if (update) {\n dispatchSortableEvent('update');\n dispatchSortableEvent('sort');\n }\n }\n }\n\n // Must be done after capturing individual rects (scroll bar)\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n multiDragSortable = toSortable;\n }\n\n // Remove clones if necessary\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return;\n\n // Only deselect if selection is in this sortable\n if (multiDragSortable !== this.sortable) return;\n\n // Only deselect if target is not item in this sortable\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return;\n\n // Only deselect if left click\n if (evt && evt.button !== 0) return;\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvent: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n multiDragSortable = sortable;\n }\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n });\n\n // multiDragElements will already be sorted if folding\n var newIndex;\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n return key;\n }\n }\n });\n}\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","export class FetchResponse {\n constructor (response) {\n this.response = response\n }\n\n get statusCode () {\n return this.response.status\n }\n\n get redirected () {\n return this.response.redirected\n }\n\n get ok () {\n return this.response.ok\n }\n\n get unauthenticated () {\n return this.statusCode === 401\n }\n\n get unprocessableEntity () {\n return this.statusCode === 422\n }\n\n get authenticationURL () {\n return this.response.headers.get('WWW-Authenticate')\n }\n\n get contentType () {\n const contentType = this.response.headers.get('Content-Type') || ''\n\n return contentType.replace(/;.*$/, '')\n }\n\n get headers () {\n return this.response.headers\n }\n\n get html () {\n if (this.contentType.match(/^(application|text)\\/(html|xhtml\\+xml)$/)) {\n return this.text\n }\n\n return Promise.reject(new Error(`Expected an HTML response but got \"${this.contentType}\" instead`))\n }\n\n get json () {\n if (this.contentType.match(/^application\\/.*json$/)) {\n return this.responseJson || (this.responseJson = this.response.json())\n }\n\n return Promise.reject(new Error(`Expected a JSON response but got \"${this.contentType}\" instead`))\n }\n\n get text () {\n return this.responseText || (this.responseText = this.response.text())\n }\n\n get isTurboStream () {\n return this.contentType.match(/^text\\/vnd\\.turbo-stream\\.html/)\n }\n\n async renderTurboStream () {\n if (this.isTurboStream) {\n if (window.Turbo) {\n await window.Turbo.renderStreamMessage(await this.text)\n } else {\n console.warn('You must set `window.Turbo = Turbo` to automatically process Turbo Stream events with request.js')\n }\n } else {\n return Promise.reject(new Error(`Expected a Turbo Stream response but got \"${this.contentType}\" instead`))\n }\n }\n}\n","export class RequestInterceptor {\n static register (interceptor) {\n this.interceptor = interceptor\n }\n\n static get () {\n return this.interceptor\n }\n\n static reset () {\n this.interceptor = undefined\n }\n}\n","export function getCookie (name) {\n const cookies = document.cookie ? document.cookie.split('; ') : []\n const prefix = `${encodeURIComponent(name)}=`\n const cookie = cookies.find(cookie => cookie.startsWith(prefix))\n\n if (cookie) {\n const value = cookie.split('=').slice(1).join('=')\n\n if (value) {\n return decodeURIComponent(value)\n }\n }\n}\n\nexport function compact (object) {\n const result = {}\n\n for (const key in object) {\n const value = object[key]\n if (value !== undefined) {\n result[key] = value\n }\n }\n\n return result\n}\n\nexport function metaContent (name) {\n const element = document.head.querySelector(`meta[name=\"${name}\"]`)\n return element && element.content\n}\n\nexport function stringEntriesFromFormData (formData) {\n return [...formData].reduce((entries, [name, value]) => {\n return entries.concat(typeof value === 'string' ? [[name, value]] : [])\n }, [])\n}\n\nexport function mergeEntries (searchParams, entries) {\n for (const [name, value] of entries) {\n if (value instanceof window.File) continue\n\n if (searchParams.has(name) && !name.includes('[]')) {\n searchParams.delete(name)\n searchParams.set(name, value)\n } else {\n searchParams.append(name, value)\n }\n }\n}\n","import { FetchResponse } from './fetch_response'\nimport { RequestInterceptor } from './request_interceptor'\nimport { getCookie, compact, metaContent, stringEntriesFromFormData, mergeEntries } from './lib/utils'\n\nexport class FetchRequest {\n constructor (method, url, options = {}) {\n this.method = method\n this.options = options\n this.originalUrl = url.toString()\n }\n\n async perform () {\n try {\n const requestInterceptor = RequestInterceptor.get()\n if (requestInterceptor) {\n await requestInterceptor(this)\n }\n } catch (error) {\n console.error(error)\n }\n\n const response = new FetchResponse(await window.fetch(this.url, this.fetchOptions))\n\n if (response.unauthenticated && response.authenticationURL) {\n return Promise.reject(window.location.href = response.authenticationURL)\n }\n\n const responseStatusIsTurboStreamable = response.ok || response.unprocessableEntity\n\n if (responseStatusIsTurboStreamable && response.isTurboStream) {\n await response.renderTurboStream()\n }\n\n return response\n }\n\n addHeader (key, value) {\n const headers = this.additionalHeaders\n headers[key] = value\n this.options.headers = headers\n }\n\n sameHostname () {\n if (!this.originalUrl.startsWith('http:')) {\n return true\n }\n\n try {\n return new URL(this.originalUrl).hostname === window.location.hostname\n } catch (_) {\n return true\n }\n }\n\n get fetchOptions () {\n return {\n method: this.method.toUpperCase(),\n headers: this.headers,\n body: this.formattedBody,\n signal: this.signal,\n credentials: this.credentials,\n redirect: this.redirect\n }\n }\n\n get headers () {\n const baseHeaders = {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': this.contentType,\n Accept: this.accept\n }\n\n if (this.sameHostname()) {\n baseHeaders['X-CSRF-Token'] = this.csrfToken\n }\n\n return compact(\n Object.assign(baseHeaders, this.additionalHeaders)\n )\n }\n\n get csrfToken () {\n return getCookie(metaContent('csrf-param')) || metaContent('csrf-token')\n }\n\n get contentType () {\n if (this.options.contentType) {\n return this.options.contentType\n } else if (this.body == null || this.body instanceof window.FormData) {\n return undefined\n } else if (this.body instanceof window.File) {\n return this.body.type\n }\n\n return 'application/json'\n }\n\n get accept () {\n switch (this.responseKind) {\n case 'html':\n return 'text/html, application/xhtml+xml'\n case 'turbo-stream':\n return 'text/vnd.turbo-stream.html, text/html, application/xhtml+xml'\n case 'json':\n return 'application/json, application/vnd.api+json'\n default:\n return '*/*'\n }\n }\n\n get body () {\n return this.options.body\n }\n\n get query () {\n const originalQuery = (this.originalUrl.split('?')[1] || '').split('#')[0]\n const params = new URLSearchParams(originalQuery)\n\n let requestQuery = this.options.query\n if (requestQuery instanceof window.FormData) {\n requestQuery = stringEntriesFromFormData(requestQuery)\n } else if (requestQuery instanceof window.URLSearchParams) {\n requestQuery = requestQuery.entries()\n } else {\n requestQuery = Object.entries(requestQuery || {})\n }\n\n mergeEntries(params, requestQuery)\n\n const query = params.toString()\n return (query.length > 0 ? `?${query}` : '')\n }\n\n get url () {\n return (this.originalUrl.split('?')[0]).split('#')[0] + this.query\n }\n\n get responseKind () {\n return this.options.responseKind || 'html'\n }\n\n get signal () {\n return this.options.signal\n }\n\n get redirect () {\n return this.options.redirect || 'follow'\n }\n\n get credentials () {\n return this.options.credentials || 'same-origin'\n }\n\n get additionalHeaders () {\n return this.options.headers || {}\n }\n\n get formattedBody () {\n const bodyIsAString = Object.prototype.toString.call(this.body) === '[object String]'\n const contentTypeIsJson = this.headers['Content-Type'] === 'application/json'\n\n if (contentTypeIsJson && !bodyIsAString) {\n return JSON.stringify(this.body)\n }\n\n return this.body\n }\n}\n","import { FetchRequest } from './fetch_request'\n\nasync function get (url, options) {\n const request = new FetchRequest('get', url, options)\n return request.perform()\n}\n\nasync function post (url, options) {\n const request = new FetchRequest('post', url, options)\n return request.perform()\n}\n\nasync function put (url, options) {\n const request = new FetchRequest('put', url, options)\n return request.perform()\n}\n\nasync function patch (url, options) {\n const request = new FetchRequest('patch', url, options)\n return request.perform()\n}\n\nasync function destroy (url, options) {\n const request = new FetchRequest('delete', url, options)\n return request.perform()\n}\n\nexport { get, post, put, patch, destroy }\n","import { Controller as n } from \"@hotwired/stimulus\";\nimport s from \"sortablejs\";\nimport { patch as o } from \"@rails/request.js\";\nclass r extends n {\n initialize() {\n this.onUpdate = this.onUpdate.bind(this);\n }\n connect() {\n this.sortable = new s(this.element, {\n ...this.defaultOptions,\n ...this.options\n });\n }\n disconnect() {\n this.sortable.destroy(), this.sortable = void 0;\n }\n async onUpdate({ item: t, newIndex: a }) {\n if (!t.dataset.sortableUpdateUrl)\n return;\n const i = this.resourceNameValue ? `${this.resourceNameValue}[${this.paramNameValue}]` : this.paramNameValue, e = new FormData();\n return e.append(i, a + 1), await o(t.dataset.sortableUpdateUrl, { body: e, responseKind: this.responseKindValue });\n }\n get options() {\n return {\n animation: this.animationValue || this.defaultOptions.animation || 150,\n handle: this.handleValue || this.defaultOptions.handle || void 0,\n onUpdate: this.onUpdate\n };\n }\n get defaultOptions() {\n return {};\n }\n}\nr.values = {\n resourceName: String,\n paramName: {\n type: String,\n default: \"position\"\n },\n responseKind: {\n type: String,\n default: \"html\"\n },\n animation: Number,\n handle: String\n};\nexport {\n r as default\n};\n","// packages/alpinejs/src/scheduler.js\nvar flushPending = false;\nvar flushing = false;\nvar queue = [];\nvar lastFlushedIndex = -1;\nfunction scheduler(callback) {\n queueJob(callback);\n}\nfunction queueJob(job) {\n if (!queue.includes(job))\n queue.push(job);\n queueFlush();\n}\nfunction dequeueJob(job) {\n let index = queue.indexOf(job);\n if (index !== -1 && index > lastFlushedIndex)\n queue.splice(index, 1);\n}\nfunction queueFlush() {\n if (!flushing && !flushPending) {\n flushPending = true;\n queueMicrotask(flushJobs);\n }\n}\nfunction flushJobs() {\n flushPending = false;\n flushing = true;\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n lastFlushedIndex = i;\n }\n queue.length = 0;\n lastFlushedIndex = -1;\n flushing = false;\n}\n\n// packages/alpinejs/src/reactivity.js\nvar reactive;\nvar effect;\nvar release;\nvar raw;\nvar shouldSchedule = true;\nfunction disableEffectScheduling(callback) {\n shouldSchedule = false;\n callback();\n shouldSchedule = true;\n}\nfunction setReactivityEngine(engine) {\n reactive = engine.reactive;\n release = engine.release;\n effect = (callback) => engine.effect(callback, { scheduler: (task) => {\n if (shouldSchedule) {\n scheduler(task);\n } else {\n task();\n }\n } });\n raw = engine.raw;\n}\nfunction overrideEffect(override) {\n effect = override;\n}\nfunction elementBoundEffect(el) {\n let cleanup2 = () => {\n };\n let wrappedEffect = (callback) => {\n let effectReference = effect(callback);\n if (!el._x_effects) {\n el._x_effects = /* @__PURE__ */ new Set();\n el._x_runEffects = () => {\n el._x_effects.forEach((i) => i());\n };\n }\n el._x_effects.add(effectReference);\n cleanup2 = () => {\n if (effectReference === void 0)\n return;\n el._x_effects.delete(effectReference);\n release(effectReference);\n };\n return effectReference;\n };\n return [wrappedEffect, () => {\n cleanup2();\n }];\n}\nfunction watch(getter, callback) {\n let firstTime = true;\n let oldValue;\n let effectReference = effect(() => {\n let value = getter();\n JSON.stringify(value);\n if (!firstTime) {\n queueMicrotask(() => {\n callback(value, oldValue);\n oldValue = value;\n });\n } else {\n oldValue = value;\n }\n firstTime = false;\n });\n return () => release(effectReference);\n}\n\n// packages/alpinejs/src/mutation.js\nvar onAttributeAddeds = [];\nvar onElRemoveds = [];\nvar onElAddeds = [];\nfunction onElAdded(callback) {\n onElAddeds.push(callback);\n}\nfunction onElRemoved(el, callback) {\n if (typeof callback === \"function\") {\n if (!el._x_cleanups)\n el._x_cleanups = [];\n el._x_cleanups.push(callback);\n } else {\n callback = el;\n onElRemoveds.push(callback);\n }\n}\nfunction onAttributesAdded(callback) {\n onAttributeAddeds.push(callback);\n}\nfunction onAttributeRemoved(el, name, callback) {\n if (!el._x_attributeCleanups)\n el._x_attributeCleanups = {};\n if (!el._x_attributeCleanups[name])\n el._x_attributeCleanups[name] = [];\n el._x_attributeCleanups[name].push(callback);\n}\nfunction cleanupAttributes(el, names) {\n if (!el._x_attributeCleanups)\n return;\n Object.entries(el._x_attributeCleanups).forEach(([name, value]) => {\n if (names === void 0 || names.includes(name)) {\n value.forEach((i) => i());\n delete el._x_attributeCleanups[name];\n }\n });\n}\nfunction cleanupElement(el) {\n el._x_effects?.forEach(dequeueJob);\n while (el._x_cleanups?.length)\n el._x_cleanups.pop()();\n}\nvar observer = new MutationObserver(onMutate);\nvar currentlyObserving = false;\nfunction startObservingMutations() {\n observer.observe(document, { subtree: true, childList: true, attributes: true, attributeOldValue: true });\n currentlyObserving = true;\n}\nfunction stopObservingMutations() {\n flushObserver();\n observer.disconnect();\n currentlyObserving = false;\n}\nvar queuedMutations = [];\nfunction flushObserver() {\n let records = observer.takeRecords();\n queuedMutations.push(() => records.length > 0 && onMutate(records));\n let queueLengthWhenTriggered = queuedMutations.length;\n queueMicrotask(() => {\n if (queuedMutations.length === queueLengthWhenTriggered) {\n while (queuedMutations.length > 0)\n queuedMutations.shift()();\n }\n });\n}\nfunction mutateDom(callback) {\n if (!currentlyObserving)\n return callback();\n stopObservingMutations();\n let result = callback();\n startObservingMutations();\n return result;\n}\nvar isCollecting = false;\nvar deferredMutations = [];\nfunction deferMutations() {\n isCollecting = true;\n}\nfunction flushAndStopDeferringMutations() {\n isCollecting = false;\n onMutate(deferredMutations);\n deferredMutations = [];\n}\nfunction onMutate(mutations) {\n if (isCollecting) {\n deferredMutations = deferredMutations.concat(mutations);\n return;\n }\n let addedNodes = [];\n let removedNodes = /* @__PURE__ */ new Set();\n let addedAttributes = /* @__PURE__ */ new Map();\n let removedAttributes = /* @__PURE__ */ new Map();\n for (let i = 0; i < mutations.length; i++) {\n if (mutations[i].target._x_ignoreMutationObserver)\n continue;\n if (mutations[i].type === \"childList\") {\n mutations[i].removedNodes.forEach((node) => {\n if (node.nodeType !== 1)\n return;\n if (!node._x_marker)\n return;\n removedNodes.add(node);\n });\n mutations[i].addedNodes.forEach((node) => {\n if (node.nodeType !== 1)\n return;\n if (removedNodes.has(node)) {\n removedNodes.delete(node);\n return;\n }\n if (node._x_marker)\n return;\n addedNodes.push(node);\n });\n }\n if (mutations[i].type === \"attributes\") {\n let el = mutations[i].target;\n let name = mutations[i].attributeName;\n let oldValue = mutations[i].oldValue;\n let add2 = () => {\n if (!addedAttributes.has(el))\n addedAttributes.set(el, []);\n addedAttributes.get(el).push({ name, value: el.getAttribute(name) });\n };\n let remove = () => {\n if (!removedAttributes.has(el))\n removedAttributes.set(el, []);\n removedAttributes.get(el).push(name);\n };\n if (el.hasAttribute(name) && oldValue === null) {\n add2();\n } else if (el.hasAttribute(name)) {\n remove();\n add2();\n } else {\n remove();\n }\n }\n }\n removedAttributes.forEach((attrs, el) => {\n cleanupAttributes(el, attrs);\n });\n addedAttributes.forEach((attrs, el) => {\n onAttributeAddeds.forEach((i) => i(el, attrs));\n });\n for (let node of removedNodes) {\n if (addedNodes.some((i) => i.contains(node)))\n continue;\n onElRemoveds.forEach((i) => i(node));\n }\n for (let node of addedNodes) {\n if (!node.isConnected)\n continue;\n onElAddeds.forEach((i) => i(node));\n }\n addedNodes = null;\n removedNodes = null;\n addedAttributes = null;\n removedAttributes = null;\n}\n\n// packages/alpinejs/src/scope.js\nfunction scope(node) {\n return mergeProxies(closestDataStack(node));\n}\nfunction addScopeToNode(node, data2, referenceNode) {\n node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)];\n return () => {\n node._x_dataStack = node._x_dataStack.filter((i) => i !== data2);\n };\n}\nfunction closestDataStack(node) {\n if (node._x_dataStack)\n return node._x_dataStack;\n if (typeof ShadowRoot === \"function\" && node instanceof ShadowRoot) {\n return closestDataStack(node.host);\n }\n if (!node.parentNode) {\n return [];\n }\n return closestDataStack(node.parentNode);\n}\nfunction mergeProxies(objects) {\n return new Proxy({ objects }, mergeProxyTrap);\n}\nvar mergeProxyTrap = {\n ownKeys({ objects }) {\n return Array.from(\n new Set(objects.flatMap((i) => Object.keys(i)))\n );\n },\n has({ objects }, name) {\n if (name == Symbol.unscopables)\n return false;\n return objects.some(\n (obj) => Object.prototype.hasOwnProperty.call(obj, name) || Reflect.has(obj, name)\n );\n },\n get({ objects }, name, thisProxy) {\n if (name == \"toJSON\")\n return collapseProxies;\n return Reflect.get(\n objects.find(\n (obj) => Reflect.has(obj, name)\n ) || {},\n name,\n thisProxy\n );\n },\n set({ objects }, name, value, thisProxy) {\n const target = objects.find(\n (obj) => Object.prototype.hasOwnProperty.call(obj, name)\n ) || objects[objects.length - 1];\n const descriptor = Object.getOwnPropertyDescriptor(target, name);\n if (descriptor?.set && descriptor?.get)\n return descriptor.set.call(thisProxy, value) || true;\n return Reflect.set(target, name, value);\n }\n};\nfunction collapseProxies() {\n let keys = Reflect.ownKeys(this);\n return keys.reduce((acc, key) => {\n acc[key] = Reflect.get(this, key);\n return acc;\n }, {});\n}\n\n// packages/alpinejs/src/interceptor.js\nfunction initInterceptors(data2) {\n let isObject2 = (val) => typeof val === \"object\" && !Array.isArray(val) && val !== null;\n let recurse = (obj, basePath = \"\") => {\n Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, { value, enumerable }]) => {\n if (enumerable === false || value === void 0)\n return;\n if (typeof value === \"object\" && value !== null && value.__v_skip)\n return;\n let path = basePath === \"\" ? key : `${basePath}.${key}`;\n if (typeof value === \"object\" && value !== null && value._x_interceptor) {\n obj[key] = value.initialize(data2, path, key);\n } else {\n if (isObject2(value) && value !== obj && !(value instanceof Element)) {\n recurse(value, path);\n }\n }\n });\n };\n return recurse(data2);\n}\nfunction interceptor(callback, mutateObj = () => {\n}) {\n let obj = {\n initialValue: void 0,\n _x_interceptor: true,\n initialize(data2, path, key) {\n return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key);\n }\n };\n mutateObj(obj);\n return (initialValue) => {\n if (typeof initialValue === \"object\" && initialValue !== null && initialValue._x_interceptor) {\n let initialize = obj.initialize.bind(obj);\n obj.initialize = (data2, path, key) => {\n let innerValue = initialValue.initialize(data2, path, key);\n obj.initialValue = innerValue;\n return initialize(data2, path, key);\n };\n } else {\n obj.initialValue = initialValue;\n }\n return obj;\n };\n}\nfunction get(obj, path) {\n return path.split(\".\").reduce((carry, segment) => carry[segment], obj);\n}\nfunction set(obj, path, value) {\n if (typeof path === \"string\")\n path = path.split(\".\");\n if (path.length === 1)\n obj[path[0]] = value;\n else if (path.length === 0)\n throw error;\n else {\n if (obj[path[0]])\n return set(obj[path[0]], path.slice(1), value);\n else {\n obj[path[0]] = {};\n return set(obj[path[0]], path.slice(1), value);\n }\n }\n}\n\n// packages/alpinejs/src/magics.js\nvar magics = {};\nfunction magic(name, callback) {\n magics[name] = callback;\n}\nfunction injectMagics(obj, el) {\n let memoizedUtilities = getUtilities(el);\n Object.entries(magics).forEach(([name, callback]) => {\n Object.defineProperty(obj, `$${name}`, {\n get() {\n return callback(el, memoizedUtilities);\n },\n enumerable: false\n });\n });\n return obj;\n}\nfunction getUtilities(el) {\n let [utilities, cleanup2] = getElementBoundUtilities(el);\n let utils = { interceptor, ...utilities };\n onElRemoved(el, cleanup2);\n return utils;\n}\n\n// packages/alpinejs/src/utils/error.js\nfunction tryCatch(el, expression, callback, ...args) {\n try {\n return callback(...args);\n } catch (e) {\n handleError(e, el, expression);\n }\n}\nfunction handleError(error2, el, expression = void 0) {\n error2 = Object.assign(\n error2 ?? { message: \"No error message given.\" },\n { el, expression }\n );\n console.warn(`Alpine Expression Error: ${error2.message}\n\n${expression ? 'Expression: \"' + expression + '\"\\n\\n' : \"\"}`, el);\n setTimeout(() => {\n throw error2;\n }, 0);\n}\n\n// packages/alpinejs/src/evaluator.js\nvar shouldAutoEvaluateFunctions = true;\nfunction dontAutoEvaluateFunctions(callback) {\n let cache = shouldAutoEvaluateFunctions;\n shouldAutoEvaluateFunctions = false;\n let result = callback();\n shouldAutoEvaluateFunctions = cache;\n return result;\n}\nfunction evaluate(el, expression, extras = {}) {\n let result;\n evaluateLater(el, expression)((value) => result = value, extras);\n return result;\n}\nfunction evaluateLater(...args) {\n return theEvaluatorFunction(...args);\n}\nvar theEvaluatorFunction = normalEvaluator;\nfunction setEvaluator(newEvaluator) {\n theEvaluatorFunction = newEvaluator;\n}\nfunction normalEvaluator(el, expression) {\n let overriddenMagics = {};\n injectMagics(overriddenMagics, el);\n let dataStack = [overriddenMagics, ...closestDataStack(el)];\n let evaluator = typeof expression === \"function\" ? generateEvaluatorFromFunction(dataStack, expression) : generateEvaluatorFromString(dataStack, expression, el);\n return tryCatch.bind(null, el, expression, evaluator);\n}\nfunction generateEvaluatorFromFunction(dataStack, func) {\n return (receiver = () => {\n }, { scope: scope2 = {}, params = [] } = {}) => {\n let result = func.apply(mergeProxies([scope2, ...dataStack]), params);\n runIfTypeOfFunction(receiver, result);\n };\n}\nvar evaluatorMemo = {};\nfunction generateFunctionFromString(expression, el) {\n if (evaluatorMemo[expression]) {\n return evaluatorMemo[expression];\n }\n let AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor;\n let rightSideSafeExpression = /^[\\n\\s]*if.*\\(.*\\)/.test(expression.trim()) || /^(let|const)\\s/.test(expression.trim()) ? `(async()=>{ ${expression} })()` : expression;\n const safeAsyncFunction = () => {\n try {\n let func2 = new AsyncFunction(\n [\"__self\", \"scope\"],\n `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`\n );\n Object.defineProperty(func2, \"name\", {\n value: `[Alpine] ${expression}`\n });\n return func2;\n } catch (error2) {\n handleError(error2, el, expression);\n return Promise.resolve();\n }\n };\n let func = safeAsyncFunction();\n evaluatorMemo[expression] = func;\n return func;\n}\nfunction generateEvaluatorFromString(dataStack, expression, el) {\n let func = generateFunctionFromString(expression, el);\n return (receiver = () => {\n }, { scope: scope2 = {}, params = [] } = {}) => {\n func.result = void 0;\n func.finished = false;\n let completeScope = mergeProxies([scope2, ...dataStack]);\n if (typeof func === \"function\") {\n let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression));\n if (func.finished) {\n runIfTypeOfFunction(receiver, func.result, completeScope, params, el);\n func.result = void 0;\n } else {\n promise.then((result) => {\n runIfTypeOfFunction(receiver, result, completeScope, params, el);\n }).catch((error2) => handleError(error2, el, expression)).finally(() => func.result = void 0);\n }\n }\n };\n}\nfunction runIfTypeOfFunction(receiver, value, scope2, params, el) {\n if (shouldAutoEvaluateFunctions && typeof value === \"function\") {\n let result = value.apply(scope2, params);\n if (result instanceof Promise) {\n result.then((i) => runIfTypeOfFunction(receiver, i, scope2, params)).catch((error2) => handleError(error2, el, value));\n } else {\n receiver(result);\n }\n } else if (typeof value === \"object\" && value instanceof Promise) {\n value.then((i) => receiver(i));\n } else {\n receiver(value);\n }\n}\n\n// packages/alpinejs/src/directives.js\nvar prefixAsString = \"x-\";\nfunction prefix(subject = \"\") {\n return prefixAsString + subject;\n}\nfunction setPrefix(newPrefix) {\n prefixAsString = newPrefix;\n}\nvar directiveHandlers = {};\nfunction directive(name, callback) {\n directiveHandlers[name] = callback;\n return {\n before(directive2) {\n if (!directiveHandlers[directive2]) {\n console.warn(String.raw`Cannot find directive \\`${directive2}\\`. \\`${name}\\` will use the default order of execution`);\n return;\n }\n const pos = directiveOrder.indexOf(directive2);\n directiveOrder.splice(pos >= 0 ? pos : directiveOrder.indexOf(\"DEFAULT\"), 0, name);\n }\n };\n}\nfunction directiveExists(name) {\n return Object.keys(directiveHandlers).includes(name);\n}\nfunction directives(el, attributes, originalAttributeOverride) {\n attributes = Array.from(attributes);\n if (el._x_virtualDirectives) {\n let vAttributes = Object.entries(el._x_virtualDirectives).map(([name, value]) => ({ name, value }));\n let staticAttributes = attributesOnly(vAttributes);\n vAttributes = vAttributes.map((attribute) => {\n if (staticAttributes.find((attr) => attr.name === attribute.name)) {\n return {\n name: `x-bind:${attribute.name}`,\n value: `\"${attribute.value}\"`\n };\n }\n return attribute;\n });\n attributes = attributes.concat(vAttributes);\n }\n let transformedAttributeMap = {};\n let directives2 = attributes.map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority);\n return directives2.map((directive2) => {\n return getDirectiveHandler(el, directive2);\n });\n}\nfunction attributesOnly(attributes) {\n return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr));\n}\nvar isDeferringHandlers = false;\nvar directiveHandlerStacks = /* @__PURE__ */ new Map();\nvar currentHandlerStackKey = Symbol();\nfunction deferHandlingDirectives(callback) {\n isDeferringHandlers = true;\n let key = Symbol();\n currentHandlerStackKey = key;\n directiveHandlerStacks.set(key, []);\n let flushHandlers = () => {\n while (directiveHandlerStacks.get(key).length)\n directiveHandlerStacks.get(key).shift()();\n directiveHandlerStacks.delete(key);\n };\n let stopDeferring = () => {\n isDeferringHandlers = false;\n flushHandlers();\n };\n callback(flushHandlers);\n stopDeferring();\n}\nfunction getElementBoundUtilities(el) {\n let cleanups = [];\n let cleanup2 = (callback) => cleanups.push(callback);\n let [effect3, cleanupEffect] = elementBoundEffect(el);\n cleanups.push(cleanupEffect);\n let utilities = {\n Alpine: alpine_default,\n effect: effect3,\n cleanup: cleanup2,\n evaluateLater: evaluateLater.bind(evaluateLater, el),\n evaluate: evaluate.bind(evaluate, el)\n };\n let doCleanup = () => cleanups.forEach((i) => i());\n return [utilities, doCleanup];\n}\nfunction getDirectiveHandler(el, directive2) {\n let noop = () => {\n };\n let handler4 = directiveHandlers[directive2.type] || noop;\n let [utilities, cleanup2] = getElementBoundUtilities(el);\n onAttributeRemoved(el, directive2.original, cleanup2);\n let fullHandler = () => {\n if (el._x_ignore || el._x_ignoreSelf)\n return;\n handler4.inline && handler4.inline(el, directive2, utilities);\n handler4 = handler4.bind(handler4, el, directive2, utilities);\n isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler4) : handler4();\n };\n fullHandler.runCleanups = cleanup2;\n return fullHandler;\n}\nvar startingWith = (subject, replacement) => ({ name, value }) => {\n if (name.startsWith(subject))\n name = name.replace(subject, replacement);\n return { name, value };\n};\nvar into = (i) => i;\nfunction toTransformedAttributes(callback = () => {\n}) {\n return ({ name, value }) => {\n let { name: newName, value: newValue } = attributeTransformers.reduce((carry, transform) => {\n return transform(carry);\n }, { name, value });\n if (newName !== name)\n callback(newName, name);\n return { name: newName, value: newValue };\n };\n}\nvar attributeTransformers = [];\nfunction mapAttributes(callback) {\n attributeTransformers.push(callback);\n}\nfunction outNonAlpineAttributes({ name }) {\n return alpineAttributeRegex().test(name);\n}\nvar alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\\\b`);\nfunction toParsedDirectives(transformedAttributeMap, originalAttributeOverride) {\n return ({ name, value }) => {\n let typeMatch = name.match(alpineAttributeRegex());\n let valueMatch = name.match(/:([a-zA-Z0-9\\-_:]+)/);\n let modifiers = name.match(/\\.[^.\\]]+(?=[^\\]]*$)/g) || [];\n let original = originalAttributeOverride || transformedAttributeMap[name] || name;\n return {\n type: typeMatch ? typeMatch[1] : null,\n value: valueMatch ? valueMatch[1] : null,\n modifiers: modifiers.map((i) => i.replace(\".\", \"\")),\n expression: value,\n original\n };\n };\n}\nvar DEFAULT = \"DEFAULT\";\nvar directiveOrder = [\n \"ignore\",\n \"ref\",\n \"data\",\n \"id\",\n \"anchor\",\n \"bind\",\n \"init\",\n \"for\",\n \"model\",\n \"modelable\",\n \"transition\",\n \"show\",\n \"if\",\n DEFAULT,\n \"teleport\"\n];\nfunction byPriority(a, b) {\n let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type;\n let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type;\n return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB);\n}\n\n// packages/alpinejs/src/utils/dispatch.js\nfunction dispatch(el, name, detail = {}) {\n el.dispatchEvent(\n new CustomEvent(name, {\n detail,\n bubbles: true,\n // Allows events to pass the shadow DOM barrier.\n composed: true,\n cancelable: true\n })\n );\n}\n\n// packages/alpinejs/src/utils/walk.js\nfunction walk(el, callback) {\n if (typeof ShadowRoot === \"function\" && el instanceof ShadowRoot) {\n Array.from(el.children).forEach((el2) => walk(el2, callback));\n return;\n }\n let skip = false;\n callback(el, () => skip = true);\n if (skip)\n return;\n let node = el.firstElementChild;\n while (node) {\n walk(node, callback, false);\n node = node.nextElementSibling;\n }\n}\n\n// packages/alpinejs/src/utils/warn.js\nfunction warn(message, ...args) {\n console.warn(`Alpine Warning: ${message}`, ...args);\n}\n\n// packages/alpinejs/src/lifecycle.js\nvar started = false;\nfunction start() {\n if (started)\n warn(\"Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems.\");\n started = true;\n if (!document.body)\n warn(\"Unable to initialize. Trying to load Alpine before `<body>` is available. Did you forget to add `defer` in Alpine's `<script>` tag?\");\n dispatch(document, \"alpine:init\");\n dispatch(document, \"alpine:initializing\");\n startObservingMutations();\n onElAdded((el) => initTree(el, walk));\n onElRemoved((el) => destroyTree(el));\n onAttributesAdded((el, attrs) => {\n directives(el, attrs).forEach((handle) => handle());\n });\n let outNestedComponents = (el) => !closestRoot(el.parentElement, true);\n Array.from(document.querySelectorAll(allSelectors().join(\",\"))).filter(outNestedComponents).forEach((el) => {\n initTree(el);\n });\n dispatch(document, \"alpine:initialized\");\n setTimeout(() => {\n warnAboutMissingPlugins();\n });\n}\nvar rootSelectorCallbacks = [];\nvar initSelectorCallbacks = [];\nfunction rootSelectors() {\n return rootSelectorCallbacks.map((fn) => fn());\n}\nfunction allSelectors() {\n return rootSelectorCallbacks.concat(initSelectorCallbacks).map((fn) => fn());\n}\nfunction addRootSelector(selectorCallback) {\n rootSelectorCallbacks.push(selectorCallback);\n}\nfunction addInitSelector(selectorCallback) {\n initSelectorCallbacks.push(selectorCallback);\n}\nfunction closestRoot(el, includeInitSelectors = false) {\n return findClosest(el, (element) => {\n const selectors = includeInitSelectors ? allSelectors() : rootSelectors();\n if (selectors.some((selector) => element.matches(selector)))\n return true;\n });\n}\nfunction findClosest(el, callback) {\n if (!el)\n return;\n if (callback(el))\n return el;\n if (el._x_teleportBack)\n el = el._x_teleportBack;\n if (!el.parentElement)\n return;\n return findClosest(el.parentElement, callback);\n}\nfunction isRoot(el) {\n return rootSelectors().some((selector) => el.matches(selector));\n}\nvar initInterceptors2 = [];\nfunction interceptInit(callback) {\n initInterceptors2.push(callback);\n}\nvar markerDispenser = 1;\nfunction initTree(el, walker = walk, intercept = () => {\n}) {\n if (findClosest(el, (i) => i._x_ignore))\n return;\n deferHandlingDirectives(() => {\n walker(el, (el2, skip) => {\n if (el2._x_marker)\n return;\n intercept(el2, skip);\n initInterceptors2.forEach((i) => i(el2, skip));\n directives(el2, el2.attributes).forEach((handle) => handle());\n if (!el2._x_ignore)\n el2._x_marker = markerDispenser++;\n el2._x_ignore && skip();\n });\n });\n}\nfunction destroyTree(root, walker = walk) {\n walker(root, (el) => {\n cleanupElement(el);\n cleanupAttributes(el);\n delete el._x_marker;\n });\n}\nfunction warnAboutMissingPlugins() {\n let pluginDirectives = [\n [\"ui\", \"dialog\", [\"[x-dialog], [x-popover]\"]],\n [\"anchor\", \"anchor\", [\"[x-anchor]\"]],\n [\"sort\", \"sort\", [\"[x-sort]\"]]\n ];\n pluginDirectives.forEach(([plugin2, directive2, selectors]) => {\n if (directiveExists(directive2))\n return;\n selectors.some((selector) => {\n if (document.querySelector(selector)) {\n warn(`found \"${selector}\", but missing ${plugin2} plugin`);\n return true;\n }\n });\n });\n}\n\n// packages/alpinejs/src/nextTick.js\nvar tickStack = [];\nvar isHolding = false;\nfunction nextTick(callback = () => {\n}) {\n queueMicrotask(() => {\n isHolding || setTimeout(() => {\n releaseNextTicks();\n });\n });\n return new Promise((res) => {\n tickStack.push(() => {\n callback();\n res();\n });\n });\n}\nfunction releaseNextTicks() {\n isHolding = false;\n while (tickStack.length)\n tickStack.shift()();\n}\nfunction holdNextTicks() {\n isHolding = true;\n}\n\n// packages/alpinejs/src/utils/classes.js\nfunction setClasses(el, value) {\n if (Array.isArray(value)) {\n return setClassesFromString(el, value.join(\" \"));\n } else if (typeof value === \"object\" && value !== null) {\n return setClassesFromObject(el, value);\n } else if (typeof value === \"function\") {\n return setClasses(el, value());\n }\n return setClassesFromString(el, value);\n}\nfunction setClassesFromString(el, classString) {\n let split = (classString2) => classString2.split(\" \").filter(Boolean);\n let missingClasses = (classString2) => classString2.split(\" \").filter((i) => !el.classList.contains(i)).filter(Boolean);\n let addClassesAndReturnUndo = (classes) => {\n el.classList.add(...classes);\n return () => {\n el.classList.remove(...classes);\n };\n };\n classString = classString === true ? classString = \"\" : classString || \"\";\n return addClassesAndReturnUndo(missingClasses(classString));\n}\nfunction setClassesFromObject(el, classObject) {\n let split = (classString) => classString.split(\" \").filter(Boolean);\n let forAdd = Object.entries(classObject).flatMap(([classString, bool]) => bool ? split(classString) : false).filter(Boolean);\n let forRemove = Object.entries(classObject).flatMap(([classString, bool]) => !bool ? split(classString) : false).filter(Boolean);\n let added = [];\n let removed = [];\n forRemove.forEach((i) => {\n if (el.classList.contains(i)) {\n el.classList.remove(i);\n removed.push(i);\n }\n });\n forAdd.forEach((i) => {\n if (!el.classList.contains(i)) {\n el.classList.add(i);\n added.push(i);\n }\n });\n return () => {\n removed.forEach((i) => el.classList.add(i));\n added.forEach((i) => el.classList.remove(i));\n };\n}\n\n// packages/alpinejs/src/utils/styles.js\nfunction setStyles(el, value) {\n if (typeof value === \"object\" && value !== null) {\n return setStylesFromObject(el, value);\n }\n return setStylesFromString(el, value);\n}\nfunction setStylesFromObject(el, value) {\n let previousStyles = {};\n Object.entries(value).forEach(([key, value2]) => {\n previousStyles[key] = el.style[key];\n if (!key.startsWith(\"--\")) {\n key = kebabCase(key);\n }\n el.style.setProperty(key, value2);\n });\n setTimeout(() => {\n if (el.style.length === 0) {\n el.removeAttribute(\"style\");\n }\n });\n return () => {\n setStyles(el, previousStyles);\n };\n}\nfunction setStylesFromString(el, value) {\n let cache = el.getAttribute(\"style\", value);\n el.setAttribute(\"style\", value);\n return () => {\n el.setAttribute(\"style\", cache || \"\");\n };\n}\nfunction kebabCase(subject) {\n return subject.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\n\n// packages/alpinejs/src/utils/once.js\nfunction once(callback, fallback = () => {\n}) {\n let called = false;\n return function() {\n if (!called) {\n called = true;\n callback.apply(this, arguments);\n } else {\n fallback.apply(this, arguments);\n }\n };\n}\n\n// packages/alpinejs/src/directives/x-transition.js\ndirective(\"transition\", (el, { value, modifiers, expression }, { evaluate: evaluate2 }) => {\n if (typeof expression === \"function\")\n expression = evaluate2(expression);\n if (expression === false)\n return;\n if (!expression || typeof expression === \"boolean\") {\n registerTransitionsFromHelper(el, modifiers, value);\n } else {\n registerTransitionsFromClassString(el, expression, value);\n }\n});\nfunction registerTransitionsFromClassString(el, classString, stage) {\n registerTransitionObject(el, setClasses, \"\");\n let directiveStorageMap = {\n \"enter\": (classes) => {\n el._x_transition.enter.during = classes;\n },\n \"enter-start\": (classes) => {\n el._x_transition.enter.start = classes;\n },\n \"enter-end\": (classes) => {\n el._x_transition.enter.end = classes;\n },\n \"leave\": (classes) => {\n el._x_transition.leave.during = classes;\n },\n \"leave-start\": (classes) => {\n el._x_transition.leave.start = classes;\n },\n \"leave-end\": (classes) => {\n el._x_transition.leave.end = classes;\n }\n };\n directiveStorageMap[stage](classString);\n}\nfunction registerTransitionsFromHelper(el, modifiers, stage) {\n registerTransitionObject(el, setStyles);\n let doesntSpecify = !modifiers.includes(\"in\") && !modifiers.includes(\"out\") && !stage;\n let transitioningIn = doesntSpecify || modifiers.includes(\"in\") || [\"enter\"].includes(stage);\n let transitioningOut = doesntSpecify || modifiers.includes(\"out\") || [\"leave\"].includes(stage);\n if (modifiers.includes(\"in\") && !doesntSpecify) {\n modifiers = modifiers.filter((i, index) => index < modifiers.indexOf(\"out\"));\n }\n if (modifiers.includes(\"out\") && !doesntSpecify) {\n modifiers = modifiers.filter((i, index) => index > modifiers.indexOf(\"out\"));\n }\n let wantsAll = !modifiers.includes(\"opacity\") && !modifiers.includes(\"scale\");\n let wantsOpacity = wantsAll || modifiers.includes(\"opacity\");\n let wantsScale = wantsAll || modifiers.includes(\"scale\");\n let opacityValue = wantsOpacity ? 0 : 1;\n let scaleValue = wantsScale ? modifierValue(modifiers, \"scale\", 95) / 100 : 1;\n let delay = modifierValue(modifiers, \"delay\", 0) / 1e3;\n let origin = modifierValue(modifiers, \"origin\", \"center\");\n let property = \"opacity, transform\";\n let durationIn = modifierValue(modifiers, \"duration\", 150) / 1e3;\n let durationOut = modifierValue(modifiers, \"duration\", 75) / 1e3;\n let easing = `cubic-bezier(0.4, 0.0, 0.2, 1)`;\n if (transitioningIn) {\n el._x_transition.enter.during = {\n transformOrigin: origin,\n transitionDelay: `${delay}s`,\n transitionProperty: property,\n transitionDuration: `${durationIn}s`,\n transitionTimingFunction: easing\n };\n el._x_transition.enter.start = {\n opacity: opacityValue,\n transform: `scale(${scaleValue})`\n };\n el._x_transition.enter.end = {\n opacity: 1,\n transform: `scale(1)`\n };\n }\n if (transitioningOut) {\n el._x_transition.leave.during = {\n transformOrigin: origin,\n transitionDelay: `${delay}s`,\n transitionProperty: property,\n transitionDuration: `${durationOut}s`,\n transitionTimingFunction: easing\n };\n el._x_transition.leave.start = {\n opacity: 1,\n transform: `scale(1)`\n };\n el._x_transition.leave.end = {\n opacity: opacityValue,\n transform: `scale(${scaleValue})`\n };\n }\n}\nfunction registerTransitionObject(el, setFunction, defaultValue = {}) {\n if (!el._x_transition)\n el._x_transition = {\n enter: { during: defaultValue, start: defaultValue, end: defaultValue },\n leave: { during: defaultValue, start: defaultValue, end: defaultValue },\n in(before = () => {\n }, after = () => {\n }) {\n transition(el, setFunction, {\n during: this.enter.during,\n start: this.enter.start,\n end: this.enter.end\n }, before, after);\n },\n out(before = () => {\n }, after = () => {\n }) {\n transition(el, setFunction, {\n during: this.leave.during,\n start: this.leave.start,\n end: this.leave.end\n }, before, after);\n }\n };\n}\nwindow.Element.prototype._x_toggleAndCascadeWithTransitions = function(el, value, show, hide) {\n const nextTick2 = document.visibilityState === \"visible\" ? requestAnimationFrame : setTimeout;\n let clickAwayCompatibleShow = () => nextTick2(show);\n if (value) {\n if (el._x_transition && (el._x_transition.enter || el._x_transition.leave)) {\n el._x_transition.enter && (Object.entries(el._x_transition.enter.during).length || Object.entries(el._x_transition.enter.start).length || Object.entries(el._x_transition.enter.end).length) ? el._x_transition.in(show) : clickAwayCompatibleShow();\n } else {\n el._x_transition ? el._x_transition.in(show) : clickAwayCompatibleShow();\n }\n return;\n }\n el._x_hidePromise = el._x_transition ? new Promise((resolve, reject) => {\n el._x_transition.out(() => {\n }, () => resolve(hide));\n el._x_transitioning && el._x_transitioning.beforeCancel(() => reject({ isFromCancelledTransition: true }));\n }) : Promise.resolve(hide);\n queueMicrotask(() => {\n let closest = closestHide(el);\n if (closest) {\n if (!closest._x_hideChildren)\n closest._x_hideChildren = [];\n closest._x_hideChildren.push(el);\n } else {\n nextTick2(() => {\n let hideAfterChildren = (el2) => {\n let carry = Promise.all([\n el2._x_hidePromise,\n ...(el2._x_hideChildren || []).map(hideAfterChildren)\n ]).then(([i]) => i?.());\n delete el2._x_hidePromise;\n delete el2._x_hideChildren;\n return carry;\n };\n hideAfterChildren(el).catch((e) => {\n if (!e.isFromCancelledTransition)\n throw e;\n });\n });\n }\n });\n};\nfunction closestHide(el) {\n let parent = el.parentNode;\n if (!parent)\n return;\n return parent._x_hidePromise ? parent : closestHide(parent);\n}\nfunction transition(el, setFunction, { during, start: start2, end } = {}, before = () => {\n}, after = () => {\n}) {\n if (el._x_transitioning)\n el._x_transitioning.cancel();\n if (Object.keys(during).length === 0 && Object.keys(start2).length === 0 && Object.keys(end).length === 0) {\n before();\n after();\n return;\n }\n let undoStart, undoDuring, undoEnd;\n performTransition(el, {\n start() {\n undoStart = setFunction(el, start2);\n },\n during() {\n undoDuring = setFunction(el, during);\n },\n before,\n end() {\n undoStart();\n undoEnd = setFunction(el, end);\n },\n after,\n cleanup() {\n undoDuring();\n undoEnd();\n }\n });\n}\nfunction performTransition(el, stages) {\n let interrupted, reachedBefore, reachedEnd;\n let finish = once(() => {\n mutateDom(() => {\n interrupted = true;\n if (!reachedBefore)\n stages.before();\n if (!reachedEnd) {\n stages.end();\n releaseNextTicks();\n }\n stages.after();\n if (el.isConnected)\n stages.cleanup();\n delete el._x_transitioning;\n });\n });\n el._x_transitioning = {\n beforeCancels: [],\n beforeCancel(callback) {\n this.beforeCancels.push(callback);\n },\n cancel: once(function() {\n while (this.beforeCancels.length) {\n this.beforeCancels.shift()();\n }\n ;\n finish();\n }),\n finish\n };\n mutateDom(() => {\n stages.start();\n stages.during();\n });\n holdNextTicks();\n requestAnimationFrame(() => {\n if (interrupted)\n return;\n let duration = Number(getComputedStyle(el).transitionDuration.replace(/,.*/, \"\").replace(\"s\", \"\")) * 1e3;\n let delay = Number(getComputedStyle(el).transitionDelay.replace(/,.*/, \"\").replace(\"s\", \"\")) * 1e3;\n if (duration === 0)\n duration = Number(getComputedStyle(el).animationDuration.replace(\"s\", \"\")) * 1e3;\n mutateDom(() => {\n stages.before();\n });\n reachedBefore = true;\n requestAnimationFrame(() => {\n if (interrupted)\n return;\n mutateDom(() => {\n stages.end();\n });\n releaseNextTicks();\n setTimeout(el._x_transitioning.finish, duration + delay);\n reachedEnd = true;\n });\n });\n}\nfunction modifierValue(modifiers, key, fallback) {\n if (modifiers.indexOf(key) === -1)\n return fallback;\n const rawValue = modifiers[modifiers.indexOf(key) + 1];\n if (!rawValue)\n return fallback;\n if (key === \"scale\") {\n if (isNaN(rawValue))\n return fallback;\n }\n if (key === \"duration\" || key === \"delay\") {\n let match = rawValue.match(/([0-9]+)ms/);\n if (match)\n return match[1];\n }\n if (key === \"origin\") {\n if ([\"top\", \"right\", \"left\", \"center\", \"bottom\"].includes(modifiers[modifiers.indexOf(key) + 2])) {\n return [rawValue, modifiers[modifiers.indexOf(key) + 2]].join(\" \");\n }\n }\n return rawValue;\n}\n\n// packages/alpinejs/src/clone.js\nvar isCloning = false;\nfunction skipDuringClone(callback, fallback = () => {\n}) {\n return (...args) => isCloning ? fallback(...args) : callback(...args);\n}\nfunction onlyDuringClone(callback) {\n return (...args) => isCloning && callback(...args);\n}\nvar interceptors = [];\nfunction interceptClone(callback) {\n interceptors.push(callback);\n}\nfunction cloneNode(from, to) {\n interceptors.forEach((i) => i(from, to));\n isCloning = true;\n dontRegisterReactiveSideEffects(() => {\n initTree(to, (el, callback) => {\n callback(el, () => {\n });\n });\n });\n isCloning = false;\n}\nvar isCloningLegacy = false;\nfunction clone(oldEl, newEl) {\n if (!newEl._x_dataStack)\n newEl._x_dataStack = oldEl._x_dataStack;\n isCloning = true;\n isCloningLegacy = true;\n dontRegisterReactiveSideEffects(() => {\n cloneTree(newEl);\n });\n isCloning = false;\n isCloningLegacy = false;\n}\nfunction cloneTree(el) {\n let hasRunThroughFirstEl = false;\n let shallowWalker = (el2, callback) => {\n walk(el2, (el3, skip) => {\n if (hasRunThroughFirstEl && isRoot(el3))\n return skip();\n hasRunThroughFirstEl = true;\n callback(el3, skip);\n });\n };\n initTree(el, shallowWalker);\n}\nfunction dontRegisterReactiveSideEffects(callback) {\n let cache = effect;\n overrideEffect((callback2, el) => {\n let storedEffect = cache(callback2);\n release(storedEffect);\n return () => {\n };\n });\n callback();\n overrideEffect(cache);\n}\n\n// packages/alpinejs/src/utils/bind.js\nfunction bind(el, name, value, modifiers = []) {\n if (!el._x_bindings)\n el._x_bindings = reactive({});\n el._x_bindings[name] = value;\n name = modifiers.includes(\"camel\") ? camelCase(name) : name;\n switch (name) {\n case \"value\":\n bindInputValue(el, value);\n break;\n case \"style\":\n bindStyles(el, value);\n break;\n case \"class\":\n bindClasses(el, value);\n break;\n case \"selected\":\n case \"checked\":\n bindAttributeAndProperty(el, name, value);\n break;\n default:\n bindAttribute(el, name, value);\n break;\n }\n}\nfunction bindInputValue(el, value) {\n if (isRadio(el)) {\n if (el.attributes.value === void 0) {\n el.value = value;\n }\n if (window.fromModel) {\n if (typeof value === \"boolean\") {\n el.checked = safeParseBoolean(el.value) === value;\n } else {\n el.checked = checkedAttrLooseCompare(el.value, value);\n }\n }\n } else if (isCheckbox(el)) {\n if (Number.isInteger(value)) {\n el.value = value;\n } else if (!Array.isArray(value) && typeof value !== \"boolean\" && ![null, void 0].includes(value)) {\n el.value = String(value);\n } else {\n if (Array.isArray(value)) {\n el.checked = value.some((val) => checkedAttrLooseCompare(val, el.value));\n } else {\n el.checked = !!value;\n }\n }\n } else if (el.tagName === \"SELECT\") {\n updateSelect(el, value);\n } else {\n if (el.value === value)\n return;\n el.value = value === void 0 ? \"\" : value;\n }\n}\nfunction bindClasses(el, value) {\n if (el._x_undoAddedClasses)\n el._x_undoAddedClasses();\n el._x_undoAddedClasses = setClasses(el, value);\n}\nfunction bindStyles(el, value) {\n if (el._x_undoAddedStyles)\n el._x_undoAddedStyles();\n el._x_undoAddedStyles = setStyles(el, value);\n}\nfunction bindAttributeAndProperty(el, name, value) {\n bindAttribute(el, name, value);\n setPropertyIfChanged(el, name, value);\n}\nfunction bindAttribute(el, name, value) {\n if ([null, void 0, false].includes(value) && attributeShouldntBePreservedIfFalsy(name)) {\n el.removeAttribute(name);\n } else {\n if (isBooleanAttr(name))\n value = name;\n setIfChanged(el, name, value);\n }\n}\nfunction setIfChanged(el, attrName, value) {\n if (el.getAttribute(attrName) != value) {\n el.setAttribute(attrName, value);\n }\n}\nfunction setPropertyIfChanged(el, propName, value) {\n if (el[propName] !== value) {\n el[propName] = value;\n }\n}\nfunction updateSelect(el, value) {\n const arrayWrappedValue = [].concat(value).map((value2) => {\n return value2 + \"\";\n });\n Array.from(el.options).forEach((option) => {\n option.selected = arrayWrappedValue.includes(option.value);\n });\n}\nfunction camelCase(subject) {\n return subject.toLowerCase().replace(/-(\\w)/g, (match, char) => char.toUpperCase());\n}\nfunction checkedAttrLooseCompare(valueA, valueB) {\n return valueA == valueB;\n}\nfunction safeParseBoolean(rawValue) {\n if ([1, \"1\", \"true\", \"on\", \"yes\", true].includes(rawValue)) {\n return true;\n }\n if ([0, \"0\", \"false\", \"off\", \"no\", false].includes(rawValue)) {\n return false;\n }\n return rawValue ? Boolean(rawValue) : null;\n}\nvar booleanAttributes = /* @__PURE__ */ new Set([\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"defer\",\n \"disabled\",\n \"formnovalidate\",\n \"inert\",\n \"ismap\",\n \"itemscope\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"selected\",\n \"shadowrootclonable\",\n \"shadowrootdelegatesfocus\",\n \"shadowrootserializable\"\n]);\nfunction isBooleanAttr(attrName) {\n return booleanAttributes.has(attrName);\n}\nfunction attributeShouldntBePreservedIfFalsy(name) {\n return ![\"aria-pressed\", \"aria-checked\", \"aria-expanded\", \"aria-selected\"].includes(name);\n}\nfunction getBinding(el, name, fallback) {\n if (el._x_bindings && el._x_bindings[name] !== void 0)\n return el._x_bindings[name];\n return getAttributeBinding(el, name, fallback);\n}\nfunction extractProp(el, name, fallback, extract = true) {\n if (el._x_bindings && el._x_bindings[name] !== void 0)\n return el._x_bindings[name];\n if (el._x_inlineBindings && el._x_inlineBindings[name] !== void 0) {\n let binding = el._x_inlineBindings[name];\n binding.extract = extract;\n return dontAutoEvaluateFunctions(() => {\n return evaluate(el, binding.expression);\n });\n }\n return getAttributeBinding(el, name, fallback);\n}\nfunction getAttributeBinding(el, name, fallback) {\n let attr = el.getAttribute(name);\n if (attr === null)\n return typeof fallback === \"function\" ? fallback() : fallback;\n if (attr === \"\")\n return true;\n if (isBooleanAttr(name)) {\n return !![name, \"true\"].includes(attr);\n }\n return attr;\n}\nfunction isCheckbox(el) {\n return el.type === \"checkbox\" || el.localName === \"ui-checkbox\" || el.localName === \"ui-switch\";\n}\nfunction isRadio(el) {\n return el.type === \"radio\" || el.localName === \"ui-radio\";\n}\n\n// packages/alpinejs/src/utils/debounce.js\nfunction debounce(func, wait) {\n var timeout;\n return function() {\n var context = this, args = arguments;\n var later = function() {\n timeout = null;\n func.apply(context, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n\n// packages/alpinejs/src/utils/throttle.js\nfunction throttle(func, limit) {\n let inThrottle;\n return function() {\n let context = this, args = arguments;\n if (!inThrottle) {\n func.apply(context, args);\n inThrottle = true;\n setTimeout(() => inThrottle = false, limit);\n }\n };\n}\n\n// packages/alpinejs/src/entangle.js\nfunction entangle({ get: outerGet, set: outerSet }, { get: innerGet, set: innerSet }) {\n let firstRun = true;\n let outerHash;\n let innerHash;\n let reference = effect(() => {\n let outer = outerGet();\n let inner = innerGet();\n if (firstRun) {\n innerSet(cloneIfObject(outer));\n firstRun = false;\n } else {\n let outerHashLatest = JSON.stringify(outer);\n let innerHashLatest = JSON.stringify(inner);\n if (outerHashLatest !== outerHash) {\n innerSet(cloneIfObject(outer));\n } else if (outerHashLatest !== innerHashLatest) {\n outerSet(cloneIfObject(inner));\n } else {\n }\n }\n outerHash = JSON.stringify(outerGet());\n innerHash = JSON.stringify(innerGet());\n });\n return () => {\n release(reference);\n };\n}\nfunction cloneIfObject(value) {\n return typeof value === \"object\" ? JSON.parse(JSON.stringify(value)) : value;\n}\n\n// packages/alpinejs/src/plugin.js\nfunction plugin(callback) {\n let callbacks = Array.isArray(callback) ? callback : [callback];\n callbacks.forEach((i) => i(alpine_default));\n}\n\n// packages/alpinejs/src/store.js\nvar stores = {};\nvar isReactive = false;\nfunction store(name, value) {\n if (!isReactive) {\n stores = reactive(stores);\n isReactive = true;\n }\n if (value === void 0) {\n return stores[name];\n }\n stores[name] = value;\n initInterceptors(stores[name]);\n if (typeof value === \"object\" && value !== null && value.hasOwnProperty(\"init\") && typeof value.init === \"function\") {\n stores[name].init();\n }\n}\nfunction getStores() {\n return stores;\n}\n\n// packages/alpinejs/src/binds.js\nvar binds = {};\nfunction bind2(name, bindings) {\n let getBindings = typeof bindings !== \"function\" ? () => bindings : bindings;\n if (name instanceof Element) {\n return applyBindingsObject(name, getBindings());\n } else {\n binds[name] = getBindings;\n }\n return () => {\n };\n}\nfunction injectBindingProviders(obj) {\n Object.entries(binds).forEach(([name, callback]) => {\n Object.defineProperty(obj, name, {\n get() {\n return (...args) => {\n return callback(...args);\n };\n }\n });\n });\n return obj;\n}\nfunction applyBindingsObject(el, obj, original) {\n let cleanupRunners = [];\n while (cleanupRunners.length)\n cleanupRunners.pop()();\n let attributes = Object.entries(obj).map(([name, value]) => ({ name, value }));\n let staticAttributes = attributesOnly(attributes);\n attributes = attributes.map((attribute) => {\n if (staticAttributes.find((attr) => attr.name === attribute.name)) {\n return {\n name: `x-bind:${attribute.name}`,\n value: `\"${attribute.value}\"`\n };\n }\n return attribute;\n });\n directives(el, attributes, original).map((handle) => {\n cleanupRunners.push(handle.runCleanups);\n handle();\n });\n return () => {\n while (cleanupRunners.length)\n cleanupRunners.pop()();\n };\n}\n\n// packages/alpinejs/src/datas.js\nvar datas = {};\nfunction data(name, callback) {\n datas[name] = callback;\n}\nfunction injectDataProviders(obj, context) {\n Object.entries(datas).forEach(([name, callback]) => {\n Object.defineProperty(obj, name, {\n get() {\n return (...args) => {\n return callback.bind(context)(...args);\n };\n },\n enumerable: false\n });\n });\n return obj;\n}\n\n// packages/alpinejs/src/alpine.js\nvar Alpine = {\n get reactive() {\n return reactive;\n },\n get release() {\n return release;\n },\n get effect() {\n return effect;\n },\n get raw() {\n return raw;\n },\n version: \"3.14.8\",\n flushAndStopDeferringMutations,\n dontAutoEvaluateFunctions,\n disableEffectScheduling,\n startObservingMutations,\n stopObservingMutations,\n setReactivityEngine,\n onAttributeRemoved,\n onAttributesAdded,\n closestDataStack,\n skipDuringClone,\n onlyDuringClone,\n addRootSelector,\n addInitSelector,\n interceptClone,\n addScopeToNode,\n deferMutations,\n mapAttributes,\n evaluateLater,\n interceptInit,\n setEvaluator,\n mergeProxies,\n extractProp,\n findClosest,\n onElRemoved,\n closestRoot,\n destroyTree,\n interceptor,\n // INTERNAL: not public API and is subject to change without major release.\n transition,\n // INTERNAL\n setStyles,\n // INTERNAL\n mutateDom,\n directive,\n entangle,\n throttle,\n debounce,\n evaluate,\n initTree,\n nextTick,\n prefixed: prefix,\n prefix: setPrefix,\n plugin,\n magic,\n store,\n start,\n clone,\n // INTERNAL\n cloneNode,\n // INTERNAL\n bound: getBinding,\n $data: scope,\n watch,\n walk,\n data,\n bind: bind2\n};\nvar alpine_default = Alpine;\n\n// node_modules/@vue/shared/dist/shared.esm-bundler.js\nfunction makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n}\nvar specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nvar isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);\nvar EMPTY_OBJ = true ? Object.freeze({}) : {};\nvar EMPTY_ARR = true ? Object.freeze([]) : [];\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hasOwn = (val, key) => hasOwnProperty.call(val, key);\nvar isArray = Array.isArray;\nvar isMap = (val) => toTypeString(val) === \"[object Map]\";\nvar isString = (val) => typeof val === \"string\";\nvar isSymbol = (val) => typeof val === \"symbol\";\nvar isObject = (val) => val !== null && typeof val === \"object\";\nvar objectToString = Object.prototype.toString;\nvar toTypeString = (value) => objectToString.call(value);\nvar toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nvar isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nvar cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nvar capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\nvar toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);\nvar hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);\n\n// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js\nvar targetMap = /* @__PURE__ */ new WeakMap();\nvar effectStack = [];\nvar activeEffect;\nvar ITERATE_KEY = Symbol(true ? \"iterate\" : \"\");\nvar MAP_KEY_ITERATE_KEY = Symbol(true ? \"Map key iterate\" : \"\");\nfunction isEffect(fn) {\n return fn && fn._isEffect === true;\n}\nfunction effect2(fn, options = EMPTY_OBJ) {\n if (isEffect(fn)) {\n fn = fn.raw;\n }\n const effect3 = createReactiveEffect(fn, options);\n if (!options.lazy) {\n effect3();\n }\n return effect3;\n}\nfunction stop(effect3) {\n if (effect3.active) {\n cleanup(effect3);\n if (effect3.options.onStop) {\n effect3.options.onStop();\n }\n effect3.active = false;\n }\n}\nvar uid = 0;\nfunction createReactiveEffect(fn, options) {\n const effect3 = function reactiveEffect() {\n if (!effect3.active) {\n return fn();\n }\n if (!effectStack.includes(effect3)) {\n cleanup(effect3);\n try {\n enableTracking();\n effectStack.push(effect3);\n activeEffect = effect3;\n return fn();\n } finally {\n effectStack.pop();\n resetTracking();\n activeEffect = effectStack[effectStack.length - 1];\n }\n }\n };\n effect3.id = uid++;\n effect3.allowRecurse = !!options.allowRecurse;\n effect3._isEffect = true;\n effect3.active = true;\n effect3.raw = fn;\n effect3.deps = [];\n effect3.options = options;\n return effect3;\n}\nfunction cleanup(effect3) {\n const { deps } = effect3;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect3);\n }\n deps.length = 0;\n }\n}\nvar shouldTrack = true;\nvar trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (!shouldTrack || activeEffect === void 0) {\n return;\n }\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = /* @__PURE__ */ new Set());\n }\n if (!dep.has(activeEffect)) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (activeEffect.options.onTrack) {\n activeEffect.options.onTrack({\n effect: activeEffect,\n target,\n type,\n key\n });\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n const effects = /* @__PURE__ */ new Set();\n const add2 = (effectsToAdd) => {\n if (effectsToAdd) {\n effectsToAdd.forEach((effect3) => {\n if (effect3 !== activeEffect || effect3.allowRecurse) {\n effects.add(effect3);\n }\n });\n }\n };\n if (type === \"clear\") {\n depsMap.forEach(add2);\n } else if (key === \"length\" && isArray(target)) {\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 >= newValue) {\n add2(dep);\n }\n });\n } else {\n if (key !== void 0) {\n add2(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n add2(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n add2(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n add2(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n add2(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n add2(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n add2(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const run = (effect3) => {\n if (effect3.options.onTrigger) {\n effect3.options.onTrigger({\n effect: effect3,\n target,\n key,\n type,\n newValue,\n oldValue,\n oldTarget\n });\n }\n if (effect3.options.scheduler) {\n effect3.options.scheduler(effect3);\n } else {\n effect3();\n }\n };\n effects.forEach(run);\n}\nvar isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nvar builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(isSymbol));\nvar get2 = /* @__PURE__ */ createGetter();\nvar readonlyGet = /* @__PURE__ */ createGetter(true);\nvar arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get3(target, key, receiver) {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\" && receiver === (isReadonly ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n const shouldUnwrap = !targetIsArray || !isIntegerKey(key);\n return shouldUnwrap ? res.value : res;\n }\n if (isObject(res)) {\n return isReadonly ? readonly(res) : reactive2(res);\n }\n return res;\n };\n}\nvar set2 = /* @__PURE__ */ createSetter();\nfunction createSetter(shallow = false) {\n return function set3(target, key, value, receiver) {\n let oldValue = target[key];\n if (!shallow) {\n value = toRaw(value);\n oldValue = toRaw(oldValue);\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\", isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nvar mutableHandlers = {\n get: get2,\n set: set2,\n deleteProperty,\n has,\n ownKeys\n};\nvar readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if (true) {\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if (true) {\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nvar toReactive = (value) => isObject(value) ? reactive2(value) : value;\nvar toReadonly = (value) => isObject(value) ? readonly(value) : value;\nvar toShallow = (value) => value;\nvar getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\n target = target[\n \"__v_raw\"\n /* RAW */\n ];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (key !== rawKey) {\n !isReadonly && track(rawTarget, \"get\", key);\n }\n !isReadonly && track(rawTarget, \"get\", rawKey);\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has$1(key, isReadonly = false) {\n const target = this[\n \"__v_raw\"\n /* RAW */\n ];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (key !== rawKey) {\n !isReadonly && track(rawTarget, \"has\", key);\n }\n !isReadonly && track(rawTarget, \"has\", rawKey);\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\n \"__v_raw\"\n /* RAW */\n ];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get3 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (true) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get3.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get3 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (true) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get3 ? get3.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\n \"__v_raw\"\n /* RAW */\n ];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\n \"__v_raw\"\n /* RAW */\n ];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (true) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get$1(this, key);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get$1(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get$1(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\n \"add\"\n /* ADD */\n ),\n set: createReadonlyMethod(\n \"set\"\n /* SET */\n ),\n delete: createReadonlyMethod(\n \"delete\"\n /* DELETE */\n ),\n clear: createReadonlyMethod(\n \"clear\"\n /* CLEAR */\n ),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get$1(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\n \"add\"\n /* ADD */\n ),\n set: createReadonlyMethod(\n \"set\"\n /* SET */\n ),\n delete: createReadonlyMethod(\n \"delete\"\n /* DELETE */\n ),\n clear: createReadonlyMethod(\n \"clear\"\n /* CLEAR */\n ),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nvar [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);\n };\n}\nvar mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nvar readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);\n }\n}\nvar reactiveMap = /* @__PURE__ */ new WeakMap();\nvar shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nvar readonlyMap = /* @__PURE__ */ new WeakMap();\nvar shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2;\n default:\n return 0;\n }\n}\nfunction getTargetType(value) {\n return value[\n \"__v_skip\"\n /* SKIP */\n ] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));\n}\nfunction reactive2(target) {\n if (target && target[\n \"__v_isReadonly\"\n /* IS_READONLY */\n ]) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (true) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\n \"__v_raw\"\n /* RAW */\n ] && !(isReadonly && target[\n \"__v_isReactive\"\n /* IS_REACTIVE */\n ])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction toRaw(observed) {\n return observed && toRaw(observed[\n \"__v_raw\"\n /* RAW */\n ]) || observed;\n}\nfunction isRef(r) {\n return Boolean(r && r.__v_isRef === true);\n}\n\n// packages/alpinejs/src/magics/$nextTick.js\nmagic(\"nextTick\", () => nextTick);\n\n// packages/alpinejs/src/magics/$dispatch.js\nmagic(\"dispatch\", (el) => dispatch.bind(dispatch, el));\n\n// packages/alpinejs/src/magics/$watch.js\nmagic(\"watch\", (el, { evaluateLater: evaluateLater2, cleanup: cleanup2 }) => (key, callback) => {\n let evaluate2 = evaluateLater2(key);\n let getter = () => {\n let value;\n evaluate2((i) => value = i);\n return value;\n };\n let unwatch = watch(getter, callback);\n cleanup2(unwatch);\n});\n\n// packages/alpinejs/src/magics/$store.js\nmagic(\"store\", getStores);\n\n// packages/alpinejs/src/magics/$data.js\nmagic(\"data\", (el) => scope(el));\n\n// packages/alpinejs/src/magics/$root.js\nmagic(\"root\", (el) => closestRoot(el));\n\n// packages/alpinejs/src/magics/$refs.js\nmagic(\"refs\", (el) => {\n if (el._x_refs_proxy)\n return el._x_refs_proxy;\n el._x_refs_proxy = mergeProxies(getArrayOfRefObject(el));\n return el._x_refs_proxy;\n});\nfunction getArrayOfRefObject(el) {\n let refObjects = [];\n findClosest(el, (i) => {\n if (i._x_refs)\n refObjects.push(i._x_refs);\n });\n return refObjects;\n}\n\n// packages/alpinejs/src/ids.js\nvar globalIdMemo = {};\nfunction findAndIncrementId(name) {\n if (!globalIdMemo[name])\n globalIdMemo[name] = 0;\n return ++globalIdMemo[name];\n}\nfunction closestIdRoot(el, name) {\n return findClosest(el, (element) => {\n if (element._x_ids && element._x_ids[name])\n return true;\n });\n}\nfunction setIdRoot(el, name) {\n if (!el._x_ids)\n el._x_ids = {};\n if (!el._x_ids[name])\n el._x_ids[name] = findAndIncrementId(name);\n}\n\n// packages/alpinejs/src/magics/$id.js\nmagic(\"id\", (el, { cleanup: cleanup2 }) => (name, key = null) => {\n let cacheKey = `${name}${key ? `-${key}` : \"\"}`;\n return cacheIdByNameOnElement(el, cacheKey, cleanup2, () => {\n let root = closestIdRoot(el, name);\n let id = root ? root._x_ids[name] : findAndIncrementId(name);\n return key ? `${name}-${id}-${key}` : `${name}-${id}`;\n });\n});\ninterceptClone((from, to) => {\n if (from._x_id) {\n to._x_id = from._x_id;\n }\n});\nfunction cacheIdByNameOnElement(el, cacheKey, cleanup2, callback) {\n if (!el._x_id)\n el._x_id = {};\n if (el._x_id[cacheKey])\n return el._x_id[cacheKey];\n let output = callback();\n el._x_id[cacheKey] = output;\n cleanup2(() => {\n delete el._x_id[cacheKey];\n });\n return output;\n}\n\n// packages/alpinejs/src/magics/$el.js\nmagic(\"el\", (el) => el);\n\n// packages/alpinejs/src/magics/index.js\nwarnMissingPluginMagic(\"Focus\", \"focus\", \"focus\");\nwarnMissingPluginMagic(\"Persist\", \"persist\", \"persist\");\nfunction warnMissingPluginMagic(name, magicName, slug) {\n magic(magicName, (el) => warn(`You can't use [$${magicName}] without first installing the \"${name}\" plugin here: https://alpinejs.dev/plugins/${slug}`, el));\n}\n\n// packages/alpinejs/src/directives/x-modelable.js\ndirective(\"modelable\", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2, cleanup: cleanup2 }) => {\n let func = evaluateLater2(expression);\n let innerGet = () => {\n let result;\n func((i) => result = i);\n return result;\n };\n let evaluateInnerSet = evaluateLater2(`${expression} = __placeholder`);\n let innerSet = (val) => evaluateInnerSet(() => {\n }, { scope: { \"__placeholder\": val } });\n let initialValue = innerGet();\n innerSet(initialValue);\n queueMicrotask(() => {\n if (!el._x_model)\n return;\n el._x_removeModelListeners[\"default\"]();\n let outerGet = el._x_model.get;\n let outerSet = el._x_model.set;\n let releaseEntanglement = entangle(\n {\n get() {\n return outerGet();\n },\n set(value) {\n outerSet(value);\n }\n },\n {\n get() {\n return innerGet();\n },\n set(value) {\n innerSet(value);\n }\n }\n );\n cleanup2(releaseEntanglement);\n });\n});\n\n// packages/alpinejs/src/directives/x-teleport.js\ndirective(\"teleport\", (el, { modifiers, expression }, { cleanup: cleanup2 }) => {\n if (el.tagName.toLowerCase() !== \"template\")\n warn(\"x-teleport can only be used on a <template> tag\", el);\n let target = getTarget(expression);\n let clone2 = el.content.cloneNode(true).firstElementChild;\n el._x_teleport = clone2;\n clone2._x_teleportBack = el;\n el.setAttribute(\"data-teleport-template\", true);\n clone2.setAttribute(\"data-teleport-target\", true);\n if (el._x_forwardEvents) {\n el._x_forwardEvents.forEach((eventName) => {\n clone2.addEventListener(eventName, (e) => {\n e.stopPropagation();\n el.dispatchEvent(new e.constructor(e.type, e));\n });\n });\n }\n addScopeToNode(clone2, {}, el);\n let placeInDom = (clone3, target2, modifiers2) => {\n if (modifiers2.includes(\"prepend\")) {\n target2.parentNode.insertBefore(clone3, target2);\n } else if (modifiers2.includes(\"append\")) {\n target2.parentNode.insertBefore(clone3, target2.nextSibling);\n } else {\n target2.appendChild(clone3);\n }\n };\n mutateDom(() => {\n placeInDom(clone2, target, modifiers);\n skipDuringClone(() => {\n initTree(clone2);\n })();\n });\n el._x_teleportPutBack = () => {\n let target2 = getTarget(expression);\n mutateDom(() => {\n placeInDom(el._x_teleport, target2, modifiers);\n });\n };\n cleanup2(\n () => mutateDom(() => {\n clone2.remove();\n destroyTree(clone2);\n })\n );\n});\nvar teleportContainerDuringClone = document.createElement(\"div\");\nfunction getTarget(expression) {\n let target = skipDuringClone(() => {\n return document.querySelector(expression);\n }, () => {\n return teleportContainerDuringClone;\n })();\n if (!target)\n warn(`Cannot find x-teleport element for selector: \"${expression}\"`);\n return target;\n}\n\n// packages/alpinejs/src/directives/x-ignore.js\nvar handler = () => {\n};\nhandler.inline = (el, { modifiers }, { cleanup: cleanup2 }) => {\n modifiers.includes(\"self\") ? el._x_ignoreSelf = true : el._x_ignore = true;\n cleanup2(() => {\n modifiers.includes(\"self\") ? delete el._x_ignoreSelf : delete el._x_ignore;\n });\n};\ndirective(\"ignore\", handler);\n\n// packages/alpinejs/src/directives/x-effect.js\ndirective(\"effect\", skipDuringClone((el, { expression }, { effect: effect3 }) => {\n effect3(evaluateLater(el, expression));\n}));\n\n// packages/alpinejs/src/utils/on.js\nfunction on(el, event, modifiers, callback) {\n let listenerTarget = el;\n let handler4 = (e) => callback(e);\n let options = {};\n let wrapHandler = (callback2, wrapper) => (e) => wrapper(callback2, e);\n if (modifiers.includes(\"dot\"))\n event = dotSyntax(event);\n if (modifiers.includes(\"camel\"))\n event = camelCase2(event);\n if (modifiers.includes(\"passive\"))\n options.passive = true;\n if (modifiers.includes(\"capture\"))\n options.capture = true;\n if (modifiers.includes(\"window\"))\n listenerTarget = window;\n if (modifiers.includes(\"document\"))\n listenerTarget = document;\n if (modifiers.includes(\"debounce\")) {\n let nextModifier = modifiers[modifiers.indexOf(\"debounce\") + 1] || \"invalid-wait\";\n let wait = isNumeric(nextModifier.split(\"ms\")[0]) ? Number(nextModifier.split(\"ms\")[0]) : 250;\n handler4 = debounce(handler4, wait);\n }\n if (modifiers.includes(\"throttle\")) {\n let nextModifier = modifiers[modifiers.indexOf(\"throttle\") + 1] || \"invalid-wait\";\n let wait = isNumeric(nextModifier.split(\"ms\")[0]) ? Number(nextModifier.split(\"ms\")[0]) : 250;\n handler4 = throttle(handler4, wait);\n }\n if (modifiers.includes(\"prevent\"))\n handler4 = wrapHandler(handler4, (next, e) => {\n e.preventDefault();\n next(e);\n });\n if (modifiers.includes(\"stop\"))\n handler4 = wrapHandler(handler4, (next, e) => {\n e.stopPropagation();\n next(e);\n });\n if (modifiers.includes(\"once\")) {\n handler4 = wrapHandler(handler4, (next, e) => {\n next(e);\n listenerTarget.removeEventListener(event, handler4, options);\n });\n }\n if (modifiers.includes(\"away\") || modifiers.includes(\"outside\")) {\n listenerTarget = document;\n handler4 = wrapHandler(handler4, (next, e) => {\n if (el.contains(e.target))\n return;\n if (e.target.isConnected === false)\n return;\n if (el.offsetWidth < 1 && el.offsetHeight < 1)\n return;\n if (el._x_isShown === false)\n return;\n next(e);\n });\n }\n if (modifiers.includes(\"self\"))\n handler4 = wrapHandler(handler4, (next, e) => {\n e.target === el && next(e);\n });\n if (isKeyEvent(event) || isClickEvent(event)) {\n handler4 = wrapHandler(handler4, (next, e) => {\n if (isListeningForASpecificKeyThatHasntBeenPressed(e, modifiers)) {\n return;\n }\n next(e);\n });\n }\n listenerTarget.addEventListener(event, handler4, options);\n return () => {\n listenerTarget.removeEventListener(event, handler4, options);\n };\n}\nfunction dotSyntax(subject) {\n return subject.replace(/-/g, \".\");\n}\nfunction camelCase2(subject) {\n return subject.toLowerCase().replace(/-(\\w)/g, (match, char) => char.toUpperCase());\n}\nfunction isNumeric(subject) {\n return !Array.isArray(subject) && !isNaN(subject);\n}\nfunction kebabCase2(subject) {\n if ([\" \", \"_\"].includes(\n subject\n ))\n return subject;\n return subject.replace(/([a-z])([A-Z])/g, \"$1-$2\").replace(/[_\\s]/, \"-\").toLowerCase();\n}\nfunction isKeyEvent(event) {\n return [\"keydown\", \"keyup\"].includes(event);\n}\nfunction isClickEvent(event) {\n return [\"contextmenu\", \"click\", \"mouse\"].some((i) => event.includes(i));\n}\nfunction isListeningForASpecificKeyThatHasntBeenPressed(e, modifiers) {\n let keyModifiers = modifiers.filter((i) => {\n return ![\"window\", \"document\", \"prevent\", \"stop\", \"once\", \"capture\", \"self\", \"away\", \"outside\", \"passive\"].includes(i);\n });\n if (keyModifiers.includes(\"debounce\")) {\n let debounceIndex = keyModifiers.indexOf(\"debounce\");\n keyModifiers.splice(debounceIndex, isNumeric((keyModifiers[debounceIndex + 1] || \"invalid-wait\").split(\"ms\")[0]) ? 2 : 1);\n }\n if (keyModifiers.includes(\"throttle\")) {\n let debounceIndex = keyModifiers.indexOf(\"throttle\");\n keyModifiers.splice(debounceIndex, isNumeric((keyModifiers[debounceIndex + 1] || \"invalid-wait\").split(\"ms\")[0]) ? 2 : 1);\n }\n if (keyModifiers.length === 0)\n return false;\n if (keyModifiers.length === 1 && keyToModifiers(e.key).includes(keyModifiers[0]))\n return false;\n const systemKeyModifiers = [\"ctrl\", \"shift\", \"alt\", \"meta\", \"cmd\", \"super\"];\n const selectedSystemKeyModifiers = systemKeyModifiers.filter((modifier) => keyModifiers.includes(modifier));\n keyModifiers = keyModifiers.filter((i) => !selectedSystemKeyModifiers.includes(i));\n if (selectedSystemKeyModifiers.length > 0) {\n const activelyPressedKeyModifiers = selectedSystemKeyModifiers.filter((modifier) => {\n if (modifier === \"cmd\" || modifier === \"super\")\n modifier = \"meta\";\n return e[`${modifier}Key`];\n });\n if (activelyPressedKeyModifiers.length === selectedSystemKeyModifiers.length) {\n if (isClickEvent(e.type))\n return false;\n if (keyToModifiers(e.key).includes(keyModifiers[0]))\n return false;\n }\n }\n return true;\n}\nfunction keyToModifiers(key) {\n if (!key)\n return [];\n key = kebabCase2(key);\n let modifierToKeyMap = {\n \"ctrl\": \"control\",\n \"slash\": \"/\",\n \"space\": \" \",\n \"spacebar\": \" \",\n \"cmd\": \"meta\",\n \"esc\": \"escape\",\n \"up\": \"arrow-up\",\n \"down\": \"arrow-down\",\n \"left\": \"arrow-left\",\n \"right\": \"arrow-right\",\n \"period\": \".\",\n \"comma\": \",\",\n \"equal\": \"=\",\n \"minus\": \"-\",\n \"underscore\": \"_\"\n };\n modifierToKeyMap[key] = key;\n return Object.keys(modifierToKeyMap).map((modifier) => {\n if (modifierToKeyMap[modifier] === key)\n return modifier;\n }).filter((modifier) => modifier);\n}\n\n// packages/alpinejs/src/directives/x-model.js\ndirective(\"model\", (el, { modifiers, expression }, { effect: effect3, cleanup: cleanup2 }) => {\n let scopeTarget = el;\n if (modifiers.includes(\"parent\")) {\n scopeTarget = el.parentNode;\n }\n let evaluateGet = evaluateLater(scopeTarget, expression);\n let evaluateSet;\n if (typeof expression === \"string\") {\n evaluateSet = evaluateLater(scopeTarget, `${expression} = __placeholder`);\n } else if (typeof expression === \"function\" && typeof expression() === \"string\") {\n evaluateSet = evaluateLater(scopeTarget, `${expression()} = __placeholder`);\n } else {\n evaluateSet = () => {\n };\n }\n let getValue = () => {\n let result;\n evaluateGet((value) => result = value);\n return isGetterSetter(result) ? result.get() : result;\n };\n let setValue = (value) => {\n let result;\n evaluateGet((value2) => result = value2);\n if (isGetterSetter(result)) {\n result.set(value);\n } else {\n evaluateSet(() => {\n }, {\n scope: { \"__placeholder\": value }\n });\n }\n };\n if (typeof expression === \"string\" && el.type === \"radio\") {\n mutateDom(() => {\n if (!el.hasAttribute(\"name\"))\n el.setAttribute(\"name\", expression);\n });\n }\n var event = el.tagName.toLowerCase() === \"select\" || [\"checkbox\", \"radio\"].includes(el.type) || modifiers.includes(\"lazy\") ? \"change\" : \"input\";\n let removeListener = isCloning ? () => {\n } : on(el, event, modifiers, (e) => {\n setValue(getInputValue(el, modifiers, e, getValue()));\n });\n if (modifiers.includes(\"fill\")) {\n if ([void 0, null, \"\"].includes(getValue()) || isCheckbox(el) && Array.isArray(getValue()) || el.tagName.toLowerCase() === \"select\" && el.multiple) {\n setValue(\n getInputValue(el, modifiers, { target: el }, getValue())\n );\n }\n }\n if (!el._x_removeModelListeners)\n el._x_removeModelListeners = {};\n el._x_removeModelListeners[\"default\"] = removeListener;\n cleanup2(() => el._x_removeModelListeners[\"default\"]());\n if (el.form) {\n let removeResetListener = on(el.form, \"reset\", [], (e) => {\n nextTick(() => el._x_model && el._x_model.set(getInputValue(el, modifiers, { target: el }, getValue())));\n });\n cleanup2(() => removeResetListener());\n }\n el._x_model = {\n get() {\n return getValue();\n },\n set(value) {\n setValue(value);\n }\n };\n el._x_forceModelUpdate = (value) => {\n if (value === void 0 && typeof expression === \"string\" && expression.match(/\\./))\n value = \"\";\n window.fromModel = true;\n mutateDom(() => bind(el, \"value\", value));\n delete window.fromModel;\n };\n effect3(() => {\n let value = getValue();\n if (modifiers.includes(\"unintrusive\") && document.activeElement.isSameNode(el))\n return;\n el._x_forceModelUpdate(value);\n });\n});\nfunction getInputValue(el, modifiers, event, currentValue) {\n return mutateDom(() => {\n if (event instanceof CustomEvent && event.detail !== void 0)\n return event.detail !== null && event.detail !== void 0 ? event.detail : event.target.value;\n else if (isCheckbox(el)) {\n if (Array.isArray(currentValue)) {\n let newValue = null;\n if (modifiers.includes(\"number\")) {\n newValue = safeParseNumber(event.target.value);\n } else if (modifiers.includes(\"boolean\")) {\n newValue = safeParseBoolean(event.target.value);\n } else {\n newValue = event.target.value;\n }\n return event.target.checked ? currentValue.includes(newValue) ? currentValue : currentValue.concat([newValue]) : currentValue.filter((el2) => !checkedAttrLooseCompare2(el2, newValue));\n } else {\n return event.target.checked;\n }\n } else if (el.tagName.toLowerCase() === \"select\" && el.multiple) {\n if (modifiers.includes(\"number\")) {\n return Array.from(event.target.selectedOptions).map((option) => {\n let rawValue = option.value || option.text;\n return safeParseNumber(rawValue);\n });\n } else if (modifiers.includes(\"boolean\")) {\n return Array.from(event.target.selectedOptions).map((option) => {\n let rawValue = option.value || option.text;\n return safeParseBoolean(rawValue);\n });\n }\n return Array.from(event.target.selectedOptions).map((option) => {\n return option.value || option.text;\n });\n } else {\n let newValue;\n if (isRadio(el)) {\n if (event.target.checked) {\n newValue = event.target.value;\n } else {\n newValue = currentValue;\n }\n } else {\n newValue = event.target.value;\n }\n if (modifiers.includes(\"number\")) {\n return safeParseNumber(newValue);\n } else if (modifiers.includes(\"boolean\")) {\n return safeParseBoolean(newValue);\n } else if (modifiers.includes(\"trim\")) {\n return newValue.trim();\n } else {\n return newValue;\n }\n }\n });\n}\nfunction safeParseNumber(rawValue) {\n let number = rawValue ? parseFloat(rawValue) : null;\n return isNumeric2(number) ? number : rawValue;\n}\nfunction checkedAttrLooseCompare2(valueA, valueB) {\n return valueA == valueB;\n}\nfunction isNumeric2(subject) {\n return !Array.isArray(subject) && !isNaN(subject);\n}\nfunction isGetterSetter(value) {\n return value !== null && typeof value === \"object\" && typeof value.get === \"function\" && typeof value.set === \"function\";\n}\n\n// packages/alpinejs/src/directives/x-cloak.js\ndirective(\"cloak\", (el) => queueMicrotask(() => mutateDom(() => el.removeAttribute(prefix(\"cloak\")))));\n\n// packages/alpinejs/src/directives/x-init.js\naddInitSelector(() => `[${prefix(\"init\")}]`);\ndirective(\"init\", skipDuringClone((el, { expression }, { evaluate: evaluate2 }) => {\n if (typeof expression === \"string\") {\n return !!expression.trim() && evaluate2(expression, {}, false);\n }\n return evaluate2(expression, {}, false);\n}));\n\n// packages/alpinejs/src/directives/x-text.js\ndirective(\"text\", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {\n let evaluate2 = evaluateLater2(expression);\n effect3(() => {\n evaluate2((value) => {\n mutateDom(() => {\n el.textContent = value;\n });\n });\n });\n});\n\n// packages/alpinejs/src/directives/x-html.js\ndirective(\"html\", (el, { expression }, { effect: effect3, evaluateLater: evaluateLater2 }) => {\n let evaluate2 = evaluateLater2(expression);\n effect3(() => {\n evaluate2((value) => {\n mutateDom(() => {\n el.innerHTML = value;\n el._x_ignoreSelf = true;\n initTree(el);\n delete el._x_ignoreSelf;\n });\n });\n });\n});\n\n// packages/alpinejs/src/directives/x-bind.js\nmapAttributes(startingWith(\":\", into(prefix(\"bind:\"))));\nvar handler2 = (el, { value, modifiers, expression, original }, { effect: effect3, cleanup: cleanup2 }) => {\n if (!value) {\n let bindingProviders = {};\n injectBindingProviders(bindingProviders);\n let getBindings = evaluateLater(el, expression);\n getBindings((bindings) => {\n applyBindingsObject(el, bindings, original);\n }, { scope: bindingProviders });\n return;\n }\n if (value === \"key\")\n return storeKeyForXFor(el, expression);\n if (el._x_inlineBindings && el._x_inlineBindings[value] && el._x_inlineBindings[value].extract) {\n return;\n }\n let evaluate2 = evaluateLater(el, expression);\n effect3(() => evaluate2((result) => {\n if (result === void 0 && typeof expression === \"string\" && expression.match(/\\./)) {\n result = \"\";\n }\n mutateDom(() => bind(el, value, result, modifiers));\n }));\n cleanup2(() => {\n el._x_undoAddedClasses && el._x_undoAddedClasses();\n el._x_undoAddedStyles && el._x_undoAddedStyles();\n });\n};\nhandler2.inline = (el, { value, modifiers, expression }) => {\n if (!value)\n return;\n if (!el._x_inlineBindings)\n el._x_inlineBindings = {};\n el._x_inlineBindings[value] = { expression, extract: false };\n};\ndirective(\"bind\", handler2);\nfunction storeKeyForXFor(el, expression) {\n el._x_keyExpression = expression;\n}\n\n// packages/alpinejs/src/directives/x-data.js\naddRootSelector(() => `[${prefix(\"data\")}]`);\ndirective(\"data\", (el, { expression }, { cleanup: cleanup2 }) => {\n if (shouldSkipRegisteringDataDuringClone(el))\n return;\n expression = expression === \"\" ? \"{}\" : expression;\n let magicContext = {};\n injectMagics(magicContext, el);\n let dataProviderContext = {};\n injectDataProviders(dataProviderContext, magicContext);\n let data2 = evaluate(el, expression, { scope: dataProviderContext });\n if (data2 === void 0 || data2 === true)\n data2 = {};\n injectMagics(data2, el);\n let reactiveData = reactive(data2);\n initInterceptors(reactiveData);\n let undo = addScopeToNode(el, reactiveData);\n reactiveData[\"init\"] && evaluate(el, reactiveData[\"init\"]);\n cleanup2(() => {\n reactiveData[\"destroy\"] && evaluate(el, reactiveData[\"destroy\"]);\n undo();\n });\n});\ninterceptClone((from, to) => {\n if (from._x_dataStack) {\n to._x_dataStack = from._x_dataStack;\n to.setAttribute(\"data-has-alpine-state\", true);\n }\n});\nfunction shouldSkipRegisteringDataDuringClone(el) {\n if (!isCloning)\n return false;\n if (isCloningLegacy)\n return true;\n return el.hasAttribute(\"data-has-alpine-state\");\n}\n\n// packages/alpinejs/src/directives/x-show.js\ndirective(\"show\", (el, { modifiers, expression }, { effect: effect3 }) => {\n let evaluate2 = evaluateLater(el, expression);\n if (!el._x_doHide)\n el._x_doHide = () => {\n mutateDom(() => {\n el.style.setProperty(\"display\", \"none\", modifiers.includes(\"important\") ? \"important\" : void 0);\n });\n };\n if (!el._x_doShow)\n el._x_doShow = () => {\n mutateDom(() => {\n if (el.style.length === 1 && el.style.display === \"none\") {\n el.removeAttribute(\"style\");\n } else {\n el.style.removeProperty(\"display\");\n }\n });\n };\n let hide = () => {\n el._x_doHide();\n el._x_isShown = false;\n };\n let show = () => {\n el._x_doShow();\n el._x_isShown = true;\n };\n let clickAwayCompatibleShow = () => setTimeout(show);\n let toggle = once(\n (value) => value ? show() : hide(),\n (value) => {\n if (typeof el._x_toggleAndCascadeWithTransitions === \"function\") {\n el._x_toggleAndCascadeWithTransitions(el, value, show, hide);\n } else {\n value ? clickAwayCompatibleShow() : hide();\n }\n }\n );\n let oldValue;\n let firstTime = true;\n effect3(() => evaluate2((value) => {\n if (!firstTime && value === oldValue)\n return;\n if (modifiers.includes(\"immediate\"))\n value ? clickAwayCompatibleShow() : hide();\n toggle(value);\n oldValue = value;\n firstTime = false;\n }));\n});\n\n// packages/alpinejs/src/directives/x-for.js\ndirective(\"for\", (el, { expression }, { effect: effect3, cleanup: cleanup2 }) => {\n let iteratorNames = parseForExpression(expression);\n let evaluateItems = evaluateLater(el, iteratorNames.items);\n let evaluateKey = evaluateLater(\n el,\n // the x-bind:key expression is stored for our use instead of evaluated.\n el._x_keyExpression || \"index\"\n );\n el._x_prevKeys = [];\n el._x_lookup = {};\n effect3(() => loop(el, iteratorNames, evaluateItems, evaluateKey));\n cleanup2(() => {\n Object.values(el._x_lookup).forEach((el2) => mutateDom(\n () => {\n destroyTree(el2);\n el2.remove();\n }\n ));\n delete el._x_prevKeys;\n delete el._x_lookup;\n });\n});\nfunction loop(el, iteratorNames, evaluateItems, evaluateKey) {\n let isObject2 = (i) => typeof i === \"object\" && !Array.isArray(i);\n let templateEl = el;\n evaluateItems((items) => {\n if (isNumeric3(items) && items >= 0) {\n items = Array.from(Array(items).keys(), (i) => i + 1);\n }\n if (items === void 0)\n items = [];\n let lookup = el._x_lookup;\n let prevKeys = el._x_prevKeys;\n let scopes = [];\n let keys = [];\n if (isObject2(items)) {\n items = Object.entries(items).map(([key, value]) => {\n let scope2 = getIterationScopeVariables(iteratorNames, value, key, items);\n evaluateKey((value2) => {\n if (keys.includes(value2))\n warn(\"Duplicate key on x-for\", el);\n keys.push(value2);\n }, { scope: { index: key, ...scope2 } });\n scopes.push(scope2);\n });\n } else {\n for (let i = 0; i < items.length; i++) {\n let scope2 = getIterationScopeVariables(iteratorNames, items[i], i, items);\n evaluateKey((value) => {\n if (keys.includes(value))\n warn(\"Duplicate key on x-for\", el);\n keys.push(value);\n }, { scope: { index: i, ...scope2 } });\n scopes.push(scope2);\n }\n }\n let adds = [];\n let moves = [];\n let removes = [];\n let sames = [];\n for (let i = 0; i < prevKeys.length; i++) {\n let key = prevKeys[i];\n if (keys.indexOf(key) === -1)\n removes.push(key);\n }\n prevKeys = prevKeys.filter((key) => !removes.includes(key));\n let lastKey = \"template\";\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n let prevIndex = prevKeys.indexOf(key);\n if (prevIndex === -1) {\n prevKeys.splice(i, 0, key);\n adds.push([lastKey, i]);\n } else if (prevIndex !== i) {\n let keyInSpot = prevKeys.splice(i, 1)[0];\n let keyForSpot = prevKeys.splice(prevIndex - 1, 1)[0];\n prevKeys.splice(i, 0, keyForSpot);\n prevKeys.splice(prevIndex, 0, keyInSpot);\n moves.push([keyInSpot, keyForSpot]);\n } else {\n sames.push(key);\n }\n lastKey = key;\n }\n for (let i = 0; i < removes.length; i++) {\n let key = removes[i];\n if (!(key in lookup))\n continue;\n mutateDom(() => {\n destroyTree(lookup[key]);\n lookup[key].remove();\n });\n delete lookup[key];\n }\n for (let i = 0; i < moves.length; i++) {\n let [keyInSpot, keyForSpot] = moves[i];\n let elInSpot = lookup[keyInSpot];\n let elForSpot = lookup[keyForSpot];\n let marker = document.createElement(\"div\");\n mutateDom(() => {\n if (!elForSpot)\n warn(`x-for \":key\" is undefined or invalid`, templateEl, keyForSpot, lookup);\n elForSpot.after(marker);\n elInSpot.after(elForSpot);\n elForSpot._x_currentIfEl && elForSpot.after(elForSpot._x_currentIfEl);\n marker.before(elInSpot);\n elInSpot._x_currentIfEl && elInSpot.after(elInSpot._x_currentIfEl);\n marker.remove();\n });\n elForSpot._x_refreshXForScope(scopes[keys.indexOf(keyForSpot)]);\n }\n for (let i = 0; i < adds.length; i++) {\n let [lastKey2, index] = adds[i];\n let lastEl = lastKey2 === \"template\" ? templateEl : lookup[lastKey2];\n if (lastEl._x_currentIfEl)\n lastEl = lastEl._x_currentIfEl;\n let scope2 = scopes[index];\n let key = keys[index];\n let clone2 = document.importNode(templateEl.content, true).firstElementChild;\n let reactiveScope = reactive(scope2);\n addScopeToNode(clone2, reactiveScope, templateEl);\n clone2._x_refreshXForScope = (newScope) => {\n Object.entries(newScope).forEach(([key2, value]) => {\n reactiveScope[key2] = value;\n });\n };\n mutateDom(() => {\n lastEl.after(clone2);\n skipDuringClone(() => initTree(clone2))();\n });\n if (typeof key === \"object\") {\n warn(\"x-for key cannot be an object, it must be a string or an integer\", templateEl);\n }\n lookup[key] = clone2;\n }\n for (let i = 0; i < sames.length; i++) {\n lookup[sames[i]]._x_refreshXForScope(scopes[keys.indexOf(sames[i])]);\n }\n templateEl._x_prevKeys = keys;\n });\n}\nfunction parseForExpression(expression) {\n let forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\n let stripParensRE = /^\\s*\\(|\\)\\s*$/g;\n let forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\n let inMatch = expression.match(forAliasRE);\n if (!inMatch)\n return;\n let res = {};\n res.items = inMatch[2].trim();\n let item = inMatch[1].replace(stripParensRE, \"\").trim();\n let iteratorMatch = item.match(forIteratorRE);\n if (iteratorMatch) {\n res.item = item.replace(forIteratorRE, \"\").trim();\n res.index = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.collection = iteratorMatch[2].trim();\n }\n } else {\n res.item = item;\n }\n return res;\n}\nfunction getIterationScopeVariables(iteratorNames, item, index, items) {\n let scopeVariables = {};\n if (/^\\[.*\\]$/.test(iteratorNames.item) && Array.isArray(item)) {\n let names = iteratorNames.item.replace(\"[\", \"\").replace(\"]\", \"\").split(\",\").map((i) => i.trim());\n names.forEach((name, i) => {\n scopeVariables[name] = item[i];\n });\n } else if (/^\\{.*\\}$/.test(iteratorNames.item) && !Array.isArray(item) && typeof item === \"object\") {\n let names = iteratorNames.item.replace(\"{\", \"\").replace(\"}\", \"\").split(\",\").map((i) => i.trim());\n names.forEach((name) => {\n scopeVariables[name] = item[name];\n });\n } else {\n scopeVariables[iteratorNames.item] = item;\n }\n if (iteratorNames.index)\n scopeVariables[iteratorNames.index] = index;\n if (iteratorNames.collection)\n scopeVariables[iteratorNames.collection] = items;\n return scopeVariables;\n}\nfunction isNumeric3(subject) {\n return !Array.isArray(subject) && !isNaN(subject);\n}\n\n// packages/alpinejs/src/directives/x-ref.js\nfunction handler3() {\n}\nhandler3.inline = (el, { expression }, { cleanup: cleanup2 }) => {\n let root = closestRoot(el);\n if (!root._x_refs)\n root._x_refs = {};\n root._x_refs[expression] = el;\n cleanup2(() => delete root._x_refs[expression]);\n};\ndirective(\"ref\", handler3);\n\n// packages/alpinejs/src/directives/x-if.js\ndirective(\"if\", (el, { expression }, { effect: effect3, cleanup: cleanup2 }) => {\n if (el.tagName.toLowerCase() !== \"template\")\n warn(\"x-if can only be used on a <template> tag\", el);\n let evaluate2 = evaluateLater(el, expression);\n let show = () => {\n if (el._x_currentIfEl)\n return el._x_currentIfEl;\n let clone2 = el.content.cloneNode(true).firstElementChild;\n addScopeToNode(clone2, {}, el);\n mutateDom(() => {\n el.after(clone2);\n skipDuringClone(() => initTree(clone2))();\n });\n el._x_currentIfEl = clone2;\n el._x_undoIf = () => {\n mutateDom(() => {\n destroyTree(clone2);\n clone2.remove();\n });\n delete el._x_currentIfEl;\n };\n return clone2;\n };\n let hide = () => {\n if (!el._x_undoIf)\n return;\n el._x_undoIf();\n delete el._x_undoIf;\n };\n effect3(() => evaluate2((value) => {\n value ? show() : hide();\n }));\n cleanup2(() => el._x_undoIf && el._x_undoIf());\n});\n\n// packages/alpinejs/src/directives/x-id.js\ndirective(\"id\", (el, { expression }, { evaluate: evaluate2 }) => {\n let names = evaluate2(expression);\n names.forEach((name) => setIdRoot(el, name));\n});\ninterceptClone((from, to) => {\n if (from._x_ids) {\n to._x_ids = from._x_ids;\n }\n});\n\n// packages/alpinejs/src/directives/x-on.js\nmapAttributes(startingWith(\"@\", into(prefix(\"on:\"))));\ndirective(\"on\", skipDuringClone((el, { value, modifiers, expression }, { cleanup: cleanup2 }) => {\n let evaluate2 = expression ? evaluateLater(el, expression) : () => {\n };\n if (el.tagName.toLowerCase() === \"template\") {\n if (!el._x_forwardEvents)\n el._x_forwardEvents = [];\n if (!el._x_forwardEvents.includes(value))\n el._x_forwardEvents.push(value);\n }\n let removeListener = on(el, value, modifiers, (e) => {\n evaluate2(() => {\n }, { scope: { \"$event\": e }, params: [e] });\n });\n cleanup2(() => removeListener());\n}));\n\n// packages/alpinejs/src/directives/index.js\nwarnMissingPluginDirective(\"Collapse\", \"collapse\", \"collapse\");\nwarnMissingPluginDirective(\"Intersect\", \"intersect\", \"intersect\");\nwarnMissingPluginDirective(\"Focus\", \"trap\", \"focus\");\nwarnMissingPluginDirective(\"Mask\", \"mask\", \"mask\");\nfunction warnMissingPluginDirective(name, directiveName, slug) {\n directive(directiveName, (el) => warn(`You can't use [x-${directiveName}] without first installing the \"${name}\" plugin here: https://alpinejs.dev/plugins/${slug}`, el));\n}\n\n// packages/alpinejs/src/index.js\nalpine_default.setEvaluator(normalEvaluator);\nalpine_default.setReactivityEngine({ reactive: reactive2, effect: effect2, release: stop, raw: toRaw });\nvar src_default = alpine_default;\n\n// packages/alpinejs/builds/module.js\nvar module_default = src_default;\nexport {\n src_default as Alpine,\n module_default as default\n};\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import { Controller, Application } from '@hotwired/stimulus';\n\nclass TurboMountController extends Controller {\n constructor() {\n super(...arguments);\n this.skipPropsChangeCallback = false;\n }\n connect() {\n this._umountComponentCallback || (this._umountComponentCallback = this.mountComponent(this.mountElement, this.resolvedComponent, this.componentProps));\n }\n disconnect() {\n this.umountComponent();\n }\n propsValueChanged() {\n if (this.skipPropsChangeCallback) {\n this.skipPropsChangeCallback = false;\n return;\n }\n this.umountComponent();\n this._umountComponentCallback || (this._umountComponentCallback = this.mountComponent(this.mountElement, this.resolvedComponent, this.componentProps));\n }\n get componentProps() {\n return this.propsValue;\n }\n get mountElement() {\n return this.hasMountTarget ? this.mountTarget : this.element;\n }\n get resolvedComponent() {\n return this.resolveMounted(this.componentValue).component;\n }\n get resolvedPlugin() {\n return this.resolveMounted(this.componentValue).plugin;\n }\n umountComponent() {\n this._umountComponentCallback && this._umountComponentCallback();\n this._umountComponentCallback = undefined;\n }\n mountComponent(el, Component, props) {\n return this.resolvedPlugin.mountComponent({ el, Component, props });\n }\n resolveMounted(component) {\n const app = this.application;\n return app.turboMount.resolve(component);\n }\n setComponentProps(props) {\n this.skipPropsChangeCallback = true;\n this.propsValue = props;\n }\n}\nTurboMountController.values = {\n props: Object,\n component: String,\n};\nTurboMountController.targets = [\"mount\"];\n\nconst camelToKebabCase = (str) => {\n return str.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n};\n\nclass TurboMount {\n constructor(props = {}) {\n this.components = new Map();\n this.application = this.findOrStartApplication(props.application);\n this.application.turboMount = this;\n this.application.register(\"turbo-mount\", TurboMountController);\n document.addEventListener(\"turbo:before-morph-element\", (event) => {\n var _a;\n const turboMorphEvent = event;\n const { target, detail } = turboMorphEvent;\n if ((_a = target.getAttribute(\"data-controller\")) === null || _a === void 0 ? void 0 : _a.includes(\"turbo-mount\")) {\n target.setAttribute(\"data-turbo-mount-props-value\", detail.newElement.getAttribute(\"data-turbo-mount-props-value\") ||\n \"{}\");\n event.preventDefault();\n }\n });\n }\n register(plugin, name, component, controller) {\n controller || (controller = TurboMountController);\n if (this.components.has(name)) {\n throw new Error(`Component '${name}' is already registered.`);\n }\n this.components.set(name, { component, plugin });\n if (controller) {\n const controllerName = `turbo-mount-${camelToKebabCase(name).replace(\"/\", \"--\")}`;\n this.application.register(controllerName, controller);\n }\n }\n resolve(name) {\n const component = this.components.get(name);\n if (!component) {\n throw new Error(`Unknown component: ${name}`);\n }\n return component;\n }\n findOrStartApplication(hydratedApp) {\n let application = hydratedApp || window.Stimulus;\n if (!application) {\n application = Application.start();\n window.Stimulus = application;\n }\n return application;\n }\n}\nfunction buildRegisterFunction(plugin) {\n return (turboMount, name, component, controller) => {\n turboMount.register(plugin, name, component, controller);\n };\n}\n\nconst identifierNames = (name) => {\n const controllerName = camelToKebabCase(name).replace(\"/\", \"--\");\n return [`turbo-mount--${controllerName}`, `turbo-mount-${controllerName}`];\n};\nconst registerComponentsBase = ({ plugin, turboMount, components, controllers, }) => {\n var _a;\n const controllerModules = controllers !== null && controllers !== void 0 ? controllers : [];\n for (const { module, filename } of components) {\n const name = filename\n .replace(/\\.\\w*$/, \"\")\n .replace(/^[./]*components\\//, \"\");\n const identifiers = identifierNames(name);\n const controller = controllerModules.find(({ identifier }) => identifiers.includes(identifier));\n const component = (_a = module.default) !== null && _a !== void 0 ? _a : module;\n if (controller) {\n turboMount.register(plugin, name, component, controller.controllerConstructor);\n }\n else {\n turboMount.register(plugin, name, component);\n }\n }\n};\n\nexport { TurboMount, TurboMountController, buildRegisterFunction, registerComponentsBase };\n","import { buildRegisterFunction } from 'turbo-mount';\nexport { TurboMount } from 'turbo-mount';\nimport { createElement } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nconst plugin = {\n mountComponent: (mountProps) => {\n const { el, Component, props } = mountProps;\n const root = createRoot(el);\n root.render(createElement(Component, props));\n return () => {\n root.unmount();\n };\n },\n};\nconst registerComponent = buildRegisterFunction(plugin);\n\nexport { plugin as default, registerComponent };\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"./Modal\";\nimport Spinner from \"./Spinner\";\n// import { FiX } from 'react-icons/fi';\n\ninterface PlaylistEnum {\n [key: string]: string;\n}\n\nconst SoundSelect: React.FC = () => {\n const [selectedPlaylist, setSelectedPlaylist] = useState(\"9821\");\n const [selectedSound, setSelectedSound] = useState({ title: \"\", url: \"\" });\n const [audioFilesWithTitles, setAudioFilesWithTitles] = useState([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [open, setOpen] = useState(false);\n\n const playlistMap: PlaylistEnum = {\n \"The Vocal Vault\": \"9821\",\n \"Epic Score\": \"97299\",\n \"Adrenaline Junkie\": \"97298\",\n Quirky: \"9\",\n \"Young and Free\": \"868\",\n \"Rock Rock Rock\": \"8006\",\n \"Holiday Vocals\": \"76589\",\n \"Fall Vibes\": \"75\",\n Chill: \"7457\",\n \"Indie Radio\": \"73\",\n };\n\n const apiKey =\n \"xzSFvjWiBLTL31hp48yeT0ccafhhDbuBHoREhUUzm7dX3w8nDjRylyT4N86Zc6mG\";\n\n const fetchAudioFiles = async (playlistId: string) => {\n setLoading(true);\n setError(null);\n try {\n const response = await fetch(\n `https://api.soundstripe.com/v1/playlists/${playlistId}?include=songs.audio_files&page[size]=100&page[number]=1`,\n {\n headers: {\n Authorization: `Bearer ${apiKey}`,\n },\n }\n );\n\n if (!response.ok) {\n throw new Error(\"Failed to fetch audio files\");\n }\n\n const data = await response.json();\n const songsData = data.included.filter(\n (item: any) => item.type === \"songs\"\n );\n const audioFilesData = data.included.filter(\n (item: any) => item.type === \"audio_files\"\n );\n\n const audioFilesWithTitles = audioFilesData.map((audioFile: any) => {\n const song = songsData.find(\n (song: any) => song.id === audioFile.attributes.song_id\n );\n return {\n ...audioFile,\n songTitle: song ? song.attributes.title : \"Unknown Title\",\n };\n });\n\n setAudioFilesWithTitles(audioFilesWithTitles);\n } catch (error) {\n setError(\"Error loading audio files\");\n console.error(\"Error fetching audio files:\", error);\n } finally {\n setLoading(false);\n }\n };\n\n useEffect(() => {\n fetchAudioFiles(\"9821\");\n }, []);\n\n const handlePlaylistSelect = (playlistName: string) => {\n const playlistId = playlistMap[playlistName];\n setSelectedPlaylist(playlistId);\n fetchAudioFiles(playlistId);\n };\n\n const handleAudioSelect = (audioFile: any) => {\n console.log(\"Selected audio file:\", audioFile);\n setSelectedSound({\n title: audioFile.songTitle,\n url: audioFile.attributes.versions.mp3,\n });\n\n // Update the hidden field with the selected sound URL\n const hiddenField = document.getElementById(\n \"songs-url-hidden-field\"\n ) as HTMLInputElement;\n if (hiddenField) {\n hiddenField.value = audioFile.attributes.versions.mp3;\n }\n\n setOpen(false);\n };\n\n return (\n <div className=\"p-4 w-fit\">\n <div className=\"mb-8 flex gap-16\">\n <button\n type=\"button\" // Prevent form submission\n onClick={() => setOpen(true)}\n className=\"px-4 py-2 bg-brand_main text-white rounded hover:bg-brand_focus transition duration-150\">\n {selectedSound?.title !== \"\"\n ? \"Changer de son\"\n : \"Sélectionner un son\"}\n </button>\n {selectedSound.title !== \"\" && (\n <h1 className=\"my-4 text-xl font-medium text-gray-700 w-fit\">\n Titre selectionnée: {selectedSound?.title}\n </h1>\n )}\n </div>\n\n <Modal open={open} setOpen={setOpen}>\n <div className=\"bg-white rounded-lg overflow-hidden shadow-xl transform transition-all w-[1000px] h-[600px] relative\">\n {/* Close Button */}\n <button\n className=\"absolute top-2 right-2 text-gray-600 hover:text-gray-800\"\n onClick={() => setOpen(false)}>\n {/* <FiX size={24} /> */}\n </button>\n\n <div className=\"flex h-full\">\n <div className=\"w-1/3 p-4 bg-gray-100 overflow-y-auto\">\n <h2 className=\"font-semibold mb-4\">Playlists</h2>\n {Object.keys(playlistMap).map((playlistName) => (\n <button\n key={playlistName}\n onClick={() => handlePlaylistSelect(playlistName)}\n className={`block px-4 py-2 rounded hover:bg-gray-200 ${\n selectedPlaylist === playlistMap[playlistName]\n ? \"bg-gray-300\"\n : \"\"\n }`}>\n {playlistName}\n </button>\n ))}\n </div>\n <div className=\"w-2/3 p-4 overflow-y-auto flex items-center justify-center\">\n {loading ? (\n <Spinner className=\"w-20 text-brand_main animate-spin\" />\n ) : error ? (\n <p>{error}</p>\n ) : audioFilesWithTitles.length > 0 ? (\n <ul className=\"space-y-2 max-h-[500px] overflow-y-auto w-full\">\n {audioFilesWithTitles.map((audioFile) => (\n <li\n key={audioFile.id}\n className=\"flex flex-col justify-between gap-8 w-full\">\n <div className=\"flex justify-start items-center gap-4 w-[300px]\">\n <p className=\"my-4 text-left text-xl font-medium text-gray-700\">\n {audioFile.songTitle}\n </p>{\" \"}\n {/* Song Title */}\n <button\n type=\"button\" // Prevent form submission\n onClick={() => handleAudioSelect(audioFile)}\n className=\"btn-brand-primary inline-block bg-indigo-600 text-white font-medium rounded hover:bg-indigo-700 focus:outline-none focus:ring focus:ring-indigo-300\">\n Sélectionner\n </button>\n </div>\n <audio controls className=\"mt-2 w-full\">\n <source\n src={audioFile.attributes.versions.mp3}\n type=\"audio/mp3\"\n />\n Your browser does not support the audio element.\n </audio>\n </li>\n ))}\n </ul>\n ) : (\n <p>No audio files available for this playlist.</p>\n )}\n </div>\n </div>\n </div>\n </Modal>\n </div>\n );\n};\n\nexport default SoundSelect;\n","import { useRef } from \"react\";\nimport { Channel, ChannelAccount } from \"../types\";\n\n// Il faudra retirer cette fonction qui renvoie un array et c'est pas pratique !\nexport const sortCA = (channelAccounts: ChannelAccount[]) => {\n // On prend les identifiants uniques des Channels Accounts\n let identifiers = [...new Set(channelAccounts.map(ca => (ca.channel as Channel).identifier))];\n\n let array: any[] = []\n // On range les ChannelAccounts par identifier\n identifiers.forEach(identifier => {\n const thisCA = {\n [identifier]: channelAccounts.filter(ca => (ca.channel as Channel).identifier === identifier),\n }\n array.push(thisCA)\n })\n // La fonction retourne les channels acocunts rangés par identifiant\n return array\n}\nexport const sortChannelAccounts = (channelAccounts: ChannelAccount[]) => {\n // On prend les identifiants uniques des Channels Accounts\n let identifiers: Channel[\"identifier\"][] = [...new Set(channelAccounts.map(ca => (ca.channel as Channel).identifier))];\n\n let obj: { [identifier: Channel[\"identifier\"]]: ChannelAccount[]} = {}\n // On range les ChannelAccounts par identifier\n identifiers.forEach(identifier => {\n const thisCA = {\n [identifier]: channelAccounts.filter(ca => (ca.channel as Channel).identifier === identifier),\n }\n Object.assign(obj, thisCA)\n })\n // La fonction retourne les channels acocunts rangés par identifiant\n return obj\n}\n\nexport const isSmallDevices = window.matchMedia(\"only screen and (max-width: 600px)\").matches;\n\nexport const useDebounce = (delay: number) => {\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n const debounce = (func: Function) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n func();\n }, delay);\n };\n\n return debounce;\n};\n","import React from \"react\";\nimport { Channel, ChannelAccount } from \"../types\";\nimport { ChannelLogo } from \"./ChannelSelector\";\n\ntype Props = {\n identifier: string;\n ca: ChannelAccount | undefined;\n withOutline?: boolean;\n isActive?: boolean;\n imageSize?: number;\n logoSize?: number;\n withChannelLogo?: boolean;\n}\n\nconst ChannelAccountImage = ({\n identifier, ca, isActive, withChannelLogo, withOutline = true, imageSize = 10, logoSize = 4\n}: Props) => {\n const classImageSize = `w-${imageSize} h-${imageSize}`\n return (\n <div className={`relative ${classImageSize}`}>\n <img\n className={`rounded-full h-full w-full object-cover bg-white border-2 border-white ring ring-white ${withOutline ?\n `outline outline-2 ${isActive ?\n `outline-${identifier}` :\n `opacity-50 outline-gray-300 group-hover:opacity-70 group-hover:outline-${identifier}`\n }` : \"\"}\n `}\n width={100}\n height={100}\n src={ca?.picture_url}\n title={ca?.displayed_name}\n />\n {withChannelLogo && <div className=\"absolute -bottom-2 -right-1 bg-slate-50 rounded-md border p-[2px]\">\n <ChannelLogo\n identifier={ca?.channel?.identifier as Channel['identifier']}\n active={true}\n size={logoSize}\n />\n </div>}\n </div>\n );\n}\n\nexport default ChannelAccountImage;\n","import React, { useState, useEffect } from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n} from '@floating-ui/react';\n\nexport default function Tooltip({ children, text }: { text: string, children: JSX.Element }) {\n const [open, setOpen] = useState(false);\n\n const { refs, floatingStyles, context } = useFloating({\n open,\n onOpenChange: setOpen,\n middleware: [offset(10), flip(), shift()],\n whileElementsMounted: autoUpdate,\n });\n\n const hover = useHover(context, {\n delay: { open: 200 }\n });\n\n const focus = useFocus(context);\n const dismiss = useDismiss(context);\n const role = useRole(context, {\n role: 'tooltip',\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n hover,\n focus,\n dismiss,\n role,\n ]);\n\n return (\n <>\n {React.Children.map(children, (child) =>\n React.cloneElement(child, {\n ref: refs.setReference,\n ...getReferenceProps(),\n })\n )}\n {open && (\n <div\n ref={refs.setFloating}\n style={{\n ...floatingStyles,\n opacity: 1,\n transition: \"opacity 200ms ease-in-out\",\n }}\n className=\"min-w-32 max-w-48 w-fit bg-gray-700 text-white text-sm rounded py-2 px-3 bg-opacity-90 z-50\"\n {...getFloatingProps()}\n >\n <p>{text}</p>\n </div>\n )}\n </>\n );\n}\n","import {\n Channel,\n ChannelAccount,\n ProvisionalBody,\n ProvisionalPost,\n} from \"../types\";\nimport { sortChannelAccounts } from \"../utils/various\";\nimport ChannelAccountImage from \"./ChannelAccountImage\";\nimport Modal from \"./Modal\";\nimport React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { UsersIcon } from \"@heroicons/react/24/solid\";\nimport Tooltip from \"./Tooltip\";\nimport { ExclamationCircleIcon } from \"@heroicons/react/20/solid\";\n\nconst channelAccountsForBPid = (\n bPid: ProvisionalBody[\"provisional_id\"],\n post: ProvisionalPost,\n hChannelAccounts: Record<number, ChannelAccount & { id: number }>\n) =>\n post.post_on_channels_attributes\n .filter(({ body_provisional_id }) => body_provisional_id === bPid)\n .map(({ channel_account_id: Cid }) => hChannelAccounts[Cid]);\n\nexport const ChannelAccountsUiElement = memo(\n ({\n bPid,\n post,\n hChannelAccounts,\n }: {\n bPid: ProvisionalBody[\"provisional_id\"];\n post: ProvisionalPost;\n hChannelAccounts: Record<number, ChannelAccount & { id: number }>;\n }) => {\n const selectedAccounts = channelAccountsForBPid(\n bPid,\n post,\n hChannelAccounts\n );\n const shownAccounts = selectedAccounts.slice(0, 3);\n const moreAccounts = selectedAccounts.length - shownAccounts.length;\n return (\n <div className=\"flex gap-1 font-medium text-gray-500\">\n <div className=\"flex flex-row-reverse mb-1 ml-2\">\n {shownAccounts?.reverse()?.map((ca) => (\n <div key={ca?.id} className=\"relative -ml-2\">\n <ChannelAccountImage\n identifier={ca?.channel?.identifier as Channel[\"identifier\"]}\n ca={ca}\n withOutline={true}\n isActive={true}\n imageSize={10}\n logoSize={4}\n withChannelLogo={true}\n />\n </div>\n ))}\n </div>\n {Boolean(moreAccounts) && (\n <span className=\"content-center text-sm \">+{moreAccounts}</span>\n )}\n </div>\n );\n }\n);\n\nexport const ChannelAccountsSelector = memo(\n ({\n bPid,\n post,\n hChannelAccounts,\n switchBodyPocs,\n showModalForBodyProvId,\n setShowModalForBodyProvId,\n destroyEmptyBody,\n buttonUI,\n }: {\n bPid: ProvisionalBody[\"provisional_id\"];\n post: ProvisionalPost;\n hChannelAccounts: Record<number, ChannelAccount & { id: number }>;\n switchBodyPocs: (\n targetsIds: number[],\n bodyId: ProvisionalBody[\"provisional_id\"]\n ) => void;\n showModalForBodyProvId: number | null;\n setShowModalForBodyProvId: React.Dispatch<\n React.SetStateAction<number | null>\n >;\n destroyEmptyBody: (bPid: ProvisionalBody[\"provisional_id\"]) => void;\n buttonUI?: JSX.Element;\n }) => {\n const selectedAccounts = channelAccountsForBPid(\n bPid,\n post,\n hChannelAccounts\n );\n const targets = Object.values(hChannelAccounts) as ChannelAccount[];\n const sortedChannelAccounts: {\n [identifier: Channel[\"identifier\"]]: ChannelAccount[];\n } = sortChannelAccounts(targets);\n const targetIds = selectedAccounts.map((ca) => ca?.id);\n // État interne des targets provenant du body dupliqué et des Channels Accounts cochés\n const [selectedTargets, setSelectedTargets] = useState(targetIds);\n const hasPoc = useMemo(\n () =>\n post.post_on_channels_attributes.some(\n (poc) => poc.body_provisional_id === bPid\n ),\n [post]\n );\n\n // Message d'erreur si aucune target cochée\n const [error, setError] = useState({ status: false, message: \"\" });\n\n // Pour une raison mystérieuse,\n // la synchronisation de l'état ne fonctionne pas\n // On est obligés de forcer la mise à jour\n useEffect(() => {\n setSelectedTargets(\n channelAccountsForBPid(bPid, post, hChannelAccounts).map(\n (ca) => ca?.id as number\n )\n );\n }, [post]);\n\n const resetError = () => setError({ status: false, message: \"\" });\n\n const onAction = (type: \"cancel\" | \"validate\") => {\n setError({ status: false, message: \"\" });\n if (type === \"validate\") {\n if (!selectedTargets.length)\n return setError({\n status: true,\n message: \"Veuillez choisir au moins un compte\",\n });\n switchBodyPocs(selectedTargets, bPid);\n }\n // Si on annule, on réinstalle l'état initial avec les données du back-end\n if (type === \"cancel\") {\n // Si le body n'a pas de POC, on le supprime\n if (!hasPoc) {\n destroyEmptyBody(bPid);\n }\n // On attend un peu pour pas que les checkbox se recochent tout de suite\n setTimeout(() => setSelectedTargets(targetIds), 500);\n }\n setShowModalForBodyProvId(null);\n };\n\n return (\n <div className=\"flex\">\n <Modal\n open={bPid === showModalForBodyProvId}\n setOpen={() => onAction(\"cancel\")}\n >\n <div className=\"stonly-validate-networks flex flex-col gap-4 p-6 my-auto bg-white rounded-lg shadow max-h-xl z-50\">\n <div className=\"flex flex-col items-start w-full space-y-4\">\n <div className=\"text-start\">\n <h3 className=\"font-semibold text-md md:text-lg\">\n Réseaux sociaux\n </h3>\n <p className=\"text-sm text-gray-500 sm:text-base\">\n {selectedTargets.length}\n {selectedTargets.length > 1\n ? \" comptes sélectionnés\"\n : \" compte sélectionné\"}\n </p>\n </div>\n {error.status && (\n <div>\n <p className=\"text-sm text-red-500\">\n <ExclamationCircleIcon className=\"inline size-6\" />\n {error.message}\n </p>\n </div>\n )}\n </div>\n <div className=\"flex flex-col gap-4 p-4 overflow-y-auto border-gray-300 border-y\">\n <div className=\"flex flex-col gap-3\">\n <div\n className=\"clickable-text text-sm cursor-pointer\"\n onClick={() => {\n resetError();\n const allTargetIds = targets.map((ca) => ca.id as number);\n setSelectedTargets(allTargetIds);\n }}\n >\n Tout sélectionner\n </div>\n <div\n className=\"clickable-text text-sm cursor-pointer\"\n onClick={() => {\n resetError();\n setSelectedTargets([]);\n }}\n >\n Tout déselectionner\n </div>\n </div>\n\n {Object.entries(sortedChannelAccounts).map(\n ([identifier, accounts], i) => {\n return (\n <div\n key={identifier}\n className=\"flex flex-col items-start gap-3\"\n >\n <label className=\"flex items-center cursor-pointer gap-3 my-3\">\n <span className=\"font-semibold\">\n {identifier[0].toUpperCase() + identifier.slice(1)}\n </span>\n {accounts.length > 1 && (\n <input\n type=\"checkbox\"\n className=\"size-4 border-gray-300 rounded form-checkbox opacity-90 text-brand_main focus:border-brand_focus focus:ring focus:ring-brand_focus focus:bg-white\"\n checked={accounts.every((ca) =>\n selectedTargets?.includes(ca.id as number)\n )}\n onChange={(e: any) => {\n resetError();\n if (e?.target?.checked) {\n setSelectedTargets([\n ...selectedTargets,\n ...accounts.map((ca) => ca.id as number),\n ]);\n } else {\n setSelectedTargets(\n selectedTargets.filter(\n (id) =>\n !accounts\n .map((ca) => ca.id as number)\n .includes(id)\n )\n );\n }\n }}\n />\n )}\n </label>\n <div className=\"flex flex-col items-start gap-4 pl-4\">\n {accounts.map((ca) => (\n <label\n key={ca.id}\n className=\"flex items-center gap-4 !cursor-pointer w-full\"\n >\n <input\n id={`${ca?.id}`}\n className=\"checkbox-primary\"\n value={ca?.id}\n type=\"checkbox\"\n checked={selectedTargets.includes(\n ca.id as number\n )}\n onChange={(e) => {\n resetError();\n if (e.target.checked) {\n setSelectedTargets((prev) => [\n ...prev,\n ca?.id as number,\n ]);\n } else {\n setSelectedTargets((prev) =>\n prev.filter((caId) => ca.id !== caId)\n );\n }\n }}\n />\n <div className=\"flex items-center w-full gap-4 group\">\n <div className=\"relative w-12 min-w-12 max-w-12\">\n <ChannelAccountImage\n identifier={\n ca?.channel\n ?.identifier as Channel[\"identifier\"]\n }\n ca={ca}\n withOutline={true}\n isActive={selectedTargets?.includes(\n ca.id as number\n )}\n imageSize={10}\n logoSize={4}\n withChannelLogo={true}\n />\n </div>\n\n <div className=\"flex flex-col items-start w-36 overflow-hidden text-sm text-gray-500 \">\n <span\n className=\"text-left line-clamp-2\"\n lang=\"fr\"\n >\n {ca.displayed_name}\n </span>\n </div>\n </div>\n </label>\n ))}\n </div>\n </div>\n );\n }\n )}\n </div>\n <div className=\"flex justify-between gap-1 sm:gap-5\">\n <button\n type=\"button\"\n className=\"stonly-validate-networks-commandes btn-neutral\"\n onClick={() => onAction(\"cancel\")}\n >\n Annuler\n </button>\n <button\n type=\"button\"\n className=\"stonly-validate-networks-commandes btn-brand-primary\"\n onClick={() => onAction(\"validate\")}\n >\n Valider\n </button>\n </div>\n </div>\n </Modal>\n <button\n type=\"button\"\n className=\"\"\n onClick={() => setShowModalForBodyProvId(bPid)}\n >\n {buttonUI ? (\n buttonUI\n ) : (\n <>\n <div className=\"lg:hidden\">\n <ChannelAccountsUiElement\n bPid={bPid}\n post={post}\n hChannelAccounts={hChannelAccounts}\n />\n </div>\n <Tooltip\n text=\"Sélectionner vos réseaux sociaux\"\n position=\"bottomright\"\n >\n <div className=\"hidden btn-neutral lg:flex\">\n <UsersIcon className=\"p-0 size-5 mr-2\" /> Réseaux\n </div>\n </Tooltip>\n </>\n )}\n </button>\n </div>\n );\n }\n);\n","import React, { useMemo } from \"react\";\nimport { Entity, ProvisionalBody, ProvisionalContentMedium } from \"../../types\";\nimport { Cloudinary } from \"@cloudinary/url-gen\";\nimport { AdvancedImage, AdvancedVideo } from \"@cloudinary/react\";\nimport { thumbnail, fill } from \"@cloudinary/url-gen/actions/resize\";\nimport { PubError } from \"../usePubValidation\";\n\ntype Props = {\n header: JSX.Element;\n body: ProvisionalBody;\n errors: PubError[];\n hContentMedia: Record<number, ProvisionalContentMedium>;\n variables: Record<string, string | null>;\n mentions?: { [k: string]: Entity };\n};\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: \"dcmekntwa\",\n },\n});\n\nconst PostPreview = ({\n errors,\n body,\n hContentMedia,\n variables,\n header,\n mentions,\n}: Props) => {\n const maxChar = errors.find((e) => e.errorIdentifier == \"character_limit\")\n ?.shouldBe as number;\n const maxCM = errors.find((e) => e.errorIdentifier == \"picture_limit\")\n ?.shouldBe as number;\n\n // Seulement le nombre de media\n const allSelectedCM = body.body_media_attributes.map(\n (bma) => hContentMedia[bma.content_medium_provisional_id]\n );\n const selectedCM = maxCM ? allSelectedCM.slice(0, maxCM - 1) : allSelectedCM;\n\n const focus = useMemo(() => {\n const mediaCount = selectedCM.length;\n const videoCount = selectedCM.filter(\n (cm) => cm.serialized_file.resource_type === \"video\"\n ).length;\n\n if (body.link_url) {\n return \"link\";\n }\n if (mediaCount > 0) {\n if (mediaCount > 1) {\n return \"images\";\n } else if (videoCount > 0) {\n return \"video\";\n } else {\n return \"image\";\n }\n } else {\n return \"none\";\n }\n }, [selectedCM, body.link_url]);\n\n const generateHtml = (input: string) => {\n return <div dangerouslySetInnerHTML={{ __html: input }} />;\n };\n const generateSpan = (key: string, value: Entity) => {\n const isHighlighted = mentions?.[key].uri;\n return `<span class=\"${\n isHighlighted\n ? \"font-bold px-1 py-1 bg-brand_focus bg-opacity-20 text-brand_darker rounded-md\"\n : \"\"\n }\">${isHighlighted ? \"@\" : \"\"}${value.name}</span>`;\n };\n const parseMessage = (\n message: string,\n replacements: Record<string, string | null>\n ) => {\n return Object.entries(replacements).reduce(\n (accMessage, [key, value]) => accMessage.replaceAll(key, value ?? \"\"),\n message ?? \"\"\n );\n };\n\n const parsedMessage = useMemo(\n () => parseMessage(body.message, variables),\n [body.message, variables]\n );\n const parsedMentions = useMemo(\n () =>\n parseMessage(\n parsedMessage,\n Object.fromEntries(\n Object.entries(mentions ?? {}).map(([key, value]) => [\n key,\n generateSpan(key, value),\n ])\n )\n ),\n [parsedMessage, mentions]\n );\n\n const validMessage = (mentions ? parsedMentions : parsedMessage).slice(\n 0,\n maxChar\n );\n const extraMessage = maxChar ? parsedMessage.slice(maxChar) : \"\";\n\n const parsedLink = useMemo(\n () =>\n Object.entries(variables).reduce(\n (accMessage, [key, value]) => accMessage.replaceAll(key, value ?? \"\"),\n body.link_url ?? \"\"\n ),\n [body.link_url]\n );\n\n const finalUrl = parsedLink\n ? \"https://\" + parsedLink?.replaceAll(\"https://\", \"\")\n : \"\";\n\n // erreur prioritaire si post non diffusé\n const totalError = errors.find((e) => e.shouldBe === true);\n const errorsToDisplay = totalError ? [totalError] : errors;\n\n return (\n <div\n className={`flex shadow flex-col border rounded w-full max-w-lg snap-center h-fit ${\n errors.length > 0 ? \"border-red-500 ring-4 ring-red-200\" : \"\"\n }`}\n >\n {header}\n <div className=\"text-center\">\n {errorsToDisplay.map(({ message, inactionStrategyMessage }) => (\n <p key={message} className=\"px-4 text-xs text-red-500\">\n {inactionStrategyMessage}\n </p>\n ))}\n </div>\n {!totalError && (\n <>\n <div className=\"p-4 text-sm text-gray-700 overflow-y-auto max-h-80 whitespace-pre-wrap\">\n {generateHtml(validMessage)}\n <span className=\"text-gray-400\">{extraMessage}</span>\n </div>\n <div className=\"flex justify-start\">\n {[\"images\", \"image\"].includes(focus) && (\n <div\n className={`p-2 relative flex flex-col flex-wrap ${\n focus === \"images\" ? \"w-full\" : \"w-fit\"\n } h-64`}\n >\n {selectedCM.map((cm, i) => {\n let style = \"\";\n if (focus === \"images\") {\n style = \"object-cover border border-slate-200 \";\n switch (i) {\n case 0:\n style += \"w-1/2 h-full rounded-l-md m-auto\";\n break;\n case 1:\n style +=\n selectedCM.length <= 2\n ? \"w-1/2 h-full rounded-r-md\"\n : \"w-1/2 h-1/2 rounded-tr-md\";\n break;\n case 2:\n style +=\n \"relative w-1/2 h-1/2 object-cover overflow-hidden border rounded-br-md\";\n break;\n default:\n style = \"hidden\";\n break;\n }\n }\n\n if (focus === \"image\") {\n style =\n \"object-contain border border-slate-200 h-full w-full rounded-md\";\n }\n return (\n <>\n <AdvancedImage\n className={style}\n key={`cm-${cm.id}`}\n cldImg={cld\n .image(cm.serialized_file.public_id)\n .setAssetType(cm.serialized_file.resource_type)\n .resize(thumbnail().width(320))}\n />\n {i === 2 && selectedCM.length >= 3 && (\n <div className=\"absolute bottom-0 right-0 w-1/2 bg-gradient-to-t from-white h-20 flex\">\n <span className=\"absolute bottom-2 right-2 pr-2\">\n +{selectedCM.length - 2}\n </span>\n </div>\n )}\n </>\n );\n })}\n </div>\n )}\n {focus === \"video\" && (\n <div\n className={`p-2 relative flex flex-col flex-wrap w-full h-64`}\n >\n <AdvancedVideo\n className=\"h-full w-full bg-gray-900 rounded-md\"\n cldVid={cld\n .video(selectedCM[0].serialized_file.public_id)\n .setAssetType(selectedCM[0].serialized_file.resource_type)\n .resize(fill().width(320))}\n controls\n />\n </div>\n )}\n {focus === \"link\" && (\n <a className=\" block p-2 w-full\" href={finalUrl} target=\"_blank\">\n <div className=\" w-full flex flex-row items-center rounded-md bg-white overflow-hidden space-x-2 border border-slate-300 hover:bg-slate-100\">\n {selectedCM.length > 0 && (\n <AdvancedImage\n className=\"h-24 w-24 object-cover\"\n cldImg={cld\n .image(selectedCM[0].serialized_file.public_id)\n .setAssetType(\n selectedCM[0].serialized_file.resource_type\n )\n .resize(thumbnail().width(320))}\n />\n )}\n <div className=\"h-full w-full\">\n <div className=\"space-y-0.5 h-16 p-1\">\n <p className=\"font-medium text-gray-700\">\n {finalUrl &&\n (() => {\n try {\n return new URL(finalUrl).hostname;\n } catch {\n return \"\";\n }\n })()}\n </p>\n <p className=\"text-sm text-gray-500 line-clamp-2\">\n {body.link_description}\n </p>\n </div>\n </div>\n </div>\n </a>\n )}\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport default PostPreview;\n","import React, { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport Flatpickr from \"react-flatpickr\";\nimport Modal from \"../Modal\";\nimport {\n ExclamationCircleIcon,\n TrashIcon,\n XMarkIcon,\n EllipsisVerticalIcon,\n PlusIcon,\n} from \"@heroicons/react/24/solid\";\n\nimport { ExclamationTriangleIcon } from \"@heroicons/react/24/outline\";\n\nimport {\n ProvisionalPost,\n ChannelAccount,\n ProvisionalContentMedium,\n ProvisionalBody,\n Channel,\n} from \"../../types\";\nimport { ValidationObject } from \"../utils/channelValidators\";\nimport { Description, Radio, RadioGroup, Switch } from \"@headlessui/react\";\nimport Select from \"../Select\";\nimport ChannelAccountImage from \"../ChannelAccountImage\";\nimport Tooltip from \"../Tooltip\";\nimport { set } from \"react-hook-form\";\nimport PostPreview from \"./PostPreview\";\nimport { getCSRFToken } from \"../utils/various\";\nimport { useDebounce } from \"../../utils/various\";\nimport { MagnifyingGlassIcon } from \"@heroicons/react/20/solid\";\nimport { Entity } from \"../../types/index\";\nimport findEntitiesInfo from \"./mentions/actions/EntitiesFetcher\";\nexport default function PublicationManager({\n post,\n setPost,\n validationObject,\n hChannelAccounts,\n hBodies,\n hContentMedia,\n variables,\n openModalForPoc,\n setOpenModalForPoc,\n}: {\n post: ProvisionalPost;\n validationObject: ValidationObject;\n setPost: React.Dispatch<React.SetStateAction<ProvisionalPost>>;\n hChannelAccounts: Record<number, ChannelAccount>;\n hBodies: Record<number, ProvisionalBody>;\n hContentMedia: Record<number, ProvisionalContentMedium>;\n variables: Record<string, string | null>;\n openModalForPoc: ProvisionalPost[\"post_on_channel_attributes\"][0] | null;\n setOpenModalForPoc: React.Dispatch<\n React.SetStateAction<\n ProvisionalPost[\"post_on_channel_attributes\"][0] | null\n >\n >;\n}) {\n const { errors, reverseMap } = validationObject;\n\n const updatePostDatetime = (stringifiedDate: string) => {\n setPost((prev) => ({\n ...prev,\n scheduled_at: stringifiedDate,\n post_on_channels_attributes: prev.post_on_channels_attributes.map(\n (poc) => {\n return { ...poc, forced_scheduled_at: stringifiedDate };\n }\n ),\n }));\n };\n\n const oneHourFromNow = new Date();\n oneHourFromNow.setMinutes(oneHourFromNow.getMinutes() + 15);\n\n const togglePublish = (instantPublish: boolean) => {\n setPost((prev) => {\n return {\n ...prev,\n scheduled_at: !instantPublish\n ? prev.scheduled_at\n : oneHourFromNow.toISOString(),\n instant_publish: instantPublish,\n post_on_channels_attributes: prev.post_on_channels_attributes.map(\n (poc) => ({\n ...poc,\n forced_scheduled_at: instantPublish\n ? \"\"\n : poc.forced_scheduled_at || oneHourFromNow.toISOString(),\n })\n ),\n };\n });\n };\n\n // \"one_time\" | \"daily\" | \"weekly\" | \"monthly\"\n const periodicityOptions = [\n { label: \"Une fois\", value: \"one_time\" },\n { label: \"Hebdomadaire\", value: \"weekly\" },\n { label: \"Mensuel\", value: \"monthly\" },\n ];\n\n // Sort posts with errors first\n const sortedPosts = [...post?.post_on_channels_attributes].sort((a, b) => {\n const erroredPocs = Object.keys(reverseMap);\n const aHasErrors = erroredPocs.some(\n (id) => id === a?.channel_account_id.toString()\n );\n const bHasErrors = erroredPocs.some(\n (id) => id === b?.channel_account_id.toString()\n );\n return aHasErrors === bHasErrors ? 0 : aHasErrors ? -1 : 1;\n });\n\n const updatePoc = (\n poc: ProvisionalPost[\"post_on_channels_attributes\"][0],\n attributes: Record<string, any>\n ) => {\n setPost((prev) => {\n const post_on_channels_attributes = prev.post_on_channels_attributes.map(\n (prevPoc) => {\n if (\n prevPoc.channel_account_id === poc.channel_account_id &&\n prevPoc.body_provisional_id === poc.body_provisional_id\n ) {\n return { ...prevPoc, ...attributes };\n }\n return prevPoc;\n }\n );\n return { ...prev, post_on_channels_attributes };\n });\n };\n\n const deletePoc = (\n poc: ProvisionalPost[\"post_on_channels_attributes\"][0]\n ) => {\n setPost((prev) => ({\n ...prev,\n post_on_channels_attributes: prev.post_on_channels_attributes.filter(\n (prevPoc) => prevPoc.channel_account_id !== poc.channel_account_id\n ),\n }));\n };\n\n // Le post est issu d'une proposition, on ne peut pas changer la date\n const disabledDate = post[\"was_proposal?\"];\n\n return (\n <>\n <div className=\"flex flex-col lg:flex-row-reverse gap-5 p-5 bg-white rounded shadow justify-between\">\n {/* Programmation buttons */}\n <div className=\"flex-1\">\n <div className=\"mb-4\">\n <h3 className=\"text-lg font-medium text-gray-900 \">\n Programmation\n </h3>\n {disabledDate && (\n <p className=\"text-gray-500\">\n <ExclamationTriangleIcon className=\"inline size-5 mb-1 mr-1\" />\n Ce post est issu d'une proposition, sa date ne peut pas être\n changée.\n </p>\n )}\n </div>\n <label className=\"rounded-tl-md rounded-tr-md relative flex cursor-pointer border border-gray-200 p-4 focus:outline-none has-[:checked]:border-brand_lighter has-[:checked]:bg-brand_lighter/30\">\n <input\n type=\"radio\"\n className=\"border-gray-300\"\n disabled={disabledDate}\n checked={post.instant_publish}\n aria-label=\"publier maintenant\"\n aria-description=\"publier Maintenant\"\n onChange={(e) => {\n togglePublish(true);\n }}\n />\n <div className=\"flex flex-col ml-3\">\n <span className=\"flex items-center gap-1 mb-2 font-medium text-gray-900\">\n Publier maintenant\n </span>\n <span className=\"block text-gray-500\">\n Publier le contenu immédiatemment sur les réseaux séléctionnés\n </span>\n </div>\n </label>\n <label className=\"rounded-bl-md rounded-br-md relative flex cursor-pointer border border-gray-200 p-4 focus:outline-none has-[:checked]:border-brand_lighter has-[:checked]:bg-brand_lighter/30\">\n <input\n type=\"radio\"\n disabled={disabledDate}\n className=\"border-gray-300\"\n checked={!post.instant_publish}\n aria-label=\"publier maintenant\"\n aria-description=\"publier Maintenant\"\n onChange={(e) => togglePublish(false)}\n />\n <div className=\"flex flex-col w-full ml-3\">\n <span className=\"flex items-center gap-1 mb-2 font-medium text-gray-900\">\n Programmer\n </span>\n <span className=\"block text-gray-500\">\n Choisir le moment et la récurrence de la publication\n </span>\n {!post.instant_publish && (\n <div className=\"flex flex-wrap justify-between w-full gap-6 mt-6\">\n <div className=\"flex-1\">\n <label\n className=\"font-medium text-brand_darker\"\n htmlFor=\"datetime-post-scheduled-at\"\n >\n Date de publication\n </label>\n <Flatpickr\n defaultValue={\n post.scheduled_at\n ? new Date(post.scheduled_at)?.toLocaleString(\"fr\")\n : oneHourFromNow.toISOString()\n }\n id=\"datetime-post-scheduled-at\"\n name=\"scheduled_at\"\n onChange={(dateArray: Date[]) =>\n updatePostDatetime(dateArray[0].toISOString())\n }\n disabled={post.instant_publish || disabledDate}\n className={`min-w-56 custom-form-input flex flex-1 rounded-md border-gray-300 shadow-sm cursor-pointer`}\n options={{\n enableTime: true,\n time_24hr: true,\n enableSeconds: true,\n dateFormat: \"d-m-Y H:i:S\",\n minDate: new Date(),\n disableMobile: true,\n }}\n />\n </div>\n </div>\n )}\n </div>\n </label>\n </div>\n <div className=\"flex-1 flex-grow\">\n <div className=\"mb-4\">\n <h3 className=\"text-lg font-medium text-gray-900 \">\n Personnalisation des posts\n </h3>\n <h4 className=\"text-gray-500\">\n {post?.post_on_channels_attributes?.length} posts prêts pour la\n publication\n </h4>\n </div>\n <div className=\"grid items-center grid-cols-1 gap-8\">\n {sortedPosts.map((poc, index) => {\n const channelAccount = hChannelAccounts[poc.channel_account_id];\n\n if (!channelAccount.id) return;\n const pocErrors =\n reverseMap[channelAccount.id]?.map(\n (identifier) => errors[identifier]\n ) || [];\n\n return (\n <PostPreview\n key={`preview-${index}`}\n errors={pocErrors}\n body={hBodies[poc.body_provisional_id]}\n hContentMedia={hContentMedia}\n variables={variables}\n mentions={poc?.channel_specific_data?.mentions || {}}\n header={\n <div className=\"flex items-center justify-between w-full p-3 text-sm text-gray-500 rounded bg-gray-50\">\n <div className=\"flex items-center h-12 gap-3 px-3 min-h-12 max-h-12\">\n <ChannelAccountImage\n identifier={\n channelAccount?.channel\n ?.identifier as Channel[\"identifier\"]\n }\n ca={channelAccount}\n withOutline={true}\n isActive={true}\n imageSize={10}\n logoSize={4}\n withChannelLogo={true}\n />\n\n <div className=\"flex flex-col\">\n {poc?.forced_scheduled_at && (\n <p>\n {\"Publié le \"}{\" \"}\n {new Date(poc.forced_scheduled_at).toLocaleString(\n \"fr\",\n {\n dateStyle: \"short\",\n timeStyle: \"short\",\n }\n )}\n </p>\n )}\n <p className=\"font-medium text-gray-700 line-clamp-2\">\n {channelAccount?.displayed_name}\n </p>\n </div>\n </div>\n\n <button\n type=\"button\"\n onClick={() => {\n setOpenModalForPoc(poc);\n }}\n className=\"relative border rounded hover:bg-gray-100\"\n >\n <EllipsisVerticalIcon className=\"w-6 h-6\" />\n </button>\n </div>\n }\n />\n );\n })}\n </div>\n </div>\n </div>\n\n <PocModal\n setOpenModalForPoc={setOpenModalForPoc}\n updatePoc={updatePoc}\n instantPublish={post.instant_publish}\n deletePoc={deletePoc}\n defaultDate={post?.scheduled_at || undefined}\n postOnChannel={openModalForPoc}\n validationObject={validationObject}\n hChannelAccounts={hChannelAccounts}\n disabledDate={disabledDate}\n />\n </>\n );\n}\n\nconst PocModal = ({\n hChannelAccounts,\n validationObject,\n // errors: globalErrors,\n postOnChannel,\n updatePoc,\n defaultDate,\n instantPublish,\n deletePoc,\n setOpenModalForPoc,\n disabledDate,\n}: {\n instantPublish: boolean;\n postOnChannel: ProvisionalPost[\"post_on_channels_attributes\"][0];\n hChannelAccounts: Record<number, ChannelAccount>;\n validationObject: ValidationObject;\n defaultDate?: string;\n updatePoc: (\n poc: ProvisionalPost[\"post_on_channels_attributes\"][0],\n attributes: Record<string, any>\n ) => void;\n deletePoc: (poc: ProvisionalPost[\"post_on_channels_attributes\"][0]) => void;\n setOpenModalForPoc: React.Dispatch<\n React.SetStateAction<\n ProvisionalPost[\"post_on_channels_attributes\"][0] | null\n >\n >;\n disabledDate: boolean;\n}) => {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n postOnChannel && setOpen(true);\n }, [postOnChannel]);\n\n useEffect(() => {\n !open && setTimeout(() => setOpenModalForPoc(null), 250);\n }, [open]);\n\n const [isConfirmModalOpen, setIsConfirmModalOpen] = useState(false);\n\n const channelAccount =\n postOnChannel && hChannelAccounts[postOnChannel.channel_account_id];\n const { errors, reverseMap } = validationObject;\n\n const pocErrors =\n reverseMap[channelAccount?.id || 0]?.map(\n (identifier) => errors[identifier]\n ) || [];\n\n const forcedScheduledAt = postOnChannel?.forced_scheduled_at || defaultDate;\n const fmtForcedScheduledAt = forcedScheduledAt\n ? new Date(forcedScheduledAt).toLocaleString(\"fr\")\n : undefined;\n\n return (\n <>\n <Modal open={open} setOpen={setOpen}>\n <div className=\"relative flex flex-col gap-6 p-12 m-auto my-12 bg-white border rounded-lg shadow sm:flex-row\">\n <XMarkIcon\n className=\"absolute bg-white border rounded cursor-pointer size-6 top-1 right-1 hover:bg-gray-50\"\n onClick={() => setOpen(false)}\n />\n <div className=\"flex flex-col gap-12 lg:flex-row\">\n <div className=\"flex flex-col justify-between gap-5 max-w-80 w-80\">\n <div className=\"flex flex-col justify-between gap-5\">\n <div className=\"flex items-center h-12 gap-3 min-h-12 max-h-12\">\n <div className=\"relative -ml-2\">\n <ChannelAccountImage\n identifier={\n channelAccount?.channel\n ?.identifier as Channel[\"identifier\"]\n }\n ca={channelAccount}\n withOutline={true}\n isActive={true}\n imageSize={10}\n logoSize={4}\n withChannelLogo={true}\n />\n </div>\n <p className=\"line-clamp-2 text-start\">\n {channelAccount?.displayed_name}\n </p>\n </div>\n\n <div className=\"flex flex-col gap-5\">\n <div className=\"flex flex-col gap-1 text-red-500\">\n <ul className=\"\">\n {pocErrors.map((error, idx) => (\n <li key={idx} className=\"flex gap-3 text-start\">\n <ExclamationCircleIcon className=\"w-6 h-6\" />\n {`${channelAccount?.channel?.name} ${error?.message}`}\n </li>\n ))}\n </ul>\n </div>\n </div>\n <div className=\"text-start\">\n <label\n htmlFor={`datetime-${postOnChannel?.id}`}\n className=\"font-medium\"\n >\n Personnaliser la date\n </label>\n <Flatpickr\n defaultValue={fmtForcedScheduledAt}\n name={`datetime-${postOnChannel?.id}`}\n onChange={(dateArray: Date[]) =>\n updatePoc(postOnChannel, {\n forced_scheduled_at: dateArray[0].toISOString(),\n })\n }\n disabled={instantPublish || disabledDate}\n className={`flex flex-1 w-full border-gray-300 rounded-md shadow-sm form-input focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20 ${\n (instantPublish || disabledDate) && \"bg-gray-200\"\n }`}\n style={{\n cursor:\n instantPublish || disabledDate ? \"default\" : \"pointer\",\n }}\n options={{\n enableTime: true,\n time_24hr: true,\n dateFormat: \"d/m/Y H:i:S\",\n minDate: new Date(),\n }}\n />\n {(instantPublish || disabledDate) && (\n <p className=\"mt-2 text-xs text-gray-500\">\n Vous devez programmer la publication pour pouvoir sélectionner une date.\n </p>\n )}\n </div>\n </div>\n <button\n type=\"button\"\n className=\"bg-white border border-red-500 text-red-500 hover:bg-gray-50 rounded-md cursor-pointer inline-flex items-center px-2.5 py-1.5 font-medium text-sm shadow-sm duration-100 justify-center mt-12 gap-3\"\n onClick={() => setIsConfirmModalOpen(true)}\n >\n <TrashIcon className=\"w-4 h-4\" />\n Supprimer ce post\n </button>\n </div>\n {channelAccount?.channel?.identifier === \"tiktok\" && (\n <TiktokPubOptions\n postOnChannel={postOnChannel}\n channelAccount={channelAccount}\n updatePoc={updatePoc}\n setOpen={setOpen}\n />\n )}\n {channelAccount?.channel?.identifier === \"instagram\" && (\n <InstagramPubOptions\n postOnChannel={postOnChannel}\n channelAccount={channelAccount}\n updatePoc={updatePoc}\n setOpen={setOpen}\n />\n )}\n </div>\n </div>\n </Modal>\n\n {isConfirmModalOpen && (\n <Modal open={isConfirmModalOpen} setOpen={setIsConfirmModalOpen}>\n <div className=\"p-6 m-auto bg-white rounded-lg\">\n <h2 className=\"mb-4 text-xl font-semibold\">\n Confirmer la suppression\n </h2>\n <p className=\"mb-6\">Êtes-vous sûr de vouloir supprimer ce post ?</p>\n <div className=\"flex justify-end gap-4\">\n <button\n className=\"px-4 py-2 text-gray-800 duration-200 bg-gray-200 rounded-md hover:bg-gray-100\"\n onClick={() => setIsConfirmModalOpen(false)}\n >\n Annuler\n </button>\n <button\n className=\"px-4 py-2 text-white duration-200 bg-red-500 rounded-md hover:bg-red-700\"\n onClick={() => {\n deletePoc(postOnChannel);\n setOpen(false); // Close the first modal as well\n setIsConfirmModalOpen(false);\n }}\n >\n Supprimer\n </button>\n </div>\n </div>\n </Modal>\n )}\n </>\n );\n};\n\nconst TiktokPubOptions = ({\n postOnChannel,\n channelAccount,\n updatePoc,\n setOpen,\n}: {\n postOnChannel: ProvisionalPost[\"post_on_channels_attributes\"][0];\n channelAccount: ChannelAccount;\n updatePoc: (\n poc: ProvisionalPost[\"post_on_channels_attributes\"][0],\n attributes: Record<string, any>\n ) => void;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n}) => {\n const [settings, setSettings] = useState<Record<string, any>>({\n ...postOnChannel?.channel_specific_data,\n });\n\n const [isSwitchOn, setIsSwitchOn] = useState(false);\n const [errors, setErrors] = useState<Record<string, string | null>>({});\n\n useEffect(() => {\n const hasValue = Boolean(settings?.privacy_level);\n setErrors((prev) => ({\n ...prev,\n privacy_level: hasValue ? null : \"Sélectionnez un niveau de visibilité\",\n }));\n }, [settings?.privacy_level]);\n\n useEffect(() => {\n const error =\n isSwitchOn &&\n !settings.brand_organic_toggle &&\n !settings?.brand_content_toggle\n ? \"Sélectionnez un type de contenu commercial\"\n : null;\n setErrors((prev) => ({ ...prev, commercial_content: error }));\n }, [\n settings.brand_organic_toggle,\n settings.brand_content_toggle,\n isSwitchOn,\n ]);\n\n useEffect(() => {\n if (settings.brand_content_toggle) {\n setVisibilityOptions((prev) => [\n ...prev.filter((option) => option.value !== \"SELF_ONLY\"),\n { label: \"Privée\", value: \"SELF_ONLY\", disabled: true },\n ]);\n } else {\n setVisibilityOptions((prev) => [\n ...prev.filter((option) => option.value !== \"SELF_ONLY\"),\n { label: \"Privée\", value: \"SELF_ONLY\" },\n ]);\n }\n }, [settings.brand_content_toggle]);\n\n const updateSettings = (attributes: Record<string, any>) => {\n setSettings((prev) => ({\n ...prev,\n ...attributes,\n }));\n };\n\n const toggleSwitch = (value: boolean) => {\n setIsSwitchOn(value);\n if (!value) {\n updateSettings({\n brand_organic_toggle: false,\n brand_content_toggle: false,\n });\n }\n };\n\n const visibilityMapping = {\n PUBLIC_TO_EVERYONE: \"Publique\",\n SELF_ONLY: \"Privée\",\n MUTUAL_FOLLOW_FRIENDS: \"Amis\",\n FOLLOWER_OF_CREATOR: \"Followers\",\n };\n\n const [visibilityOptions, setVisibilityOptions] = useState<\n { label: string; value: keyof typeof visibilityMapping }[]\n >(\n channelAccount.channel_specific_data?.privacy_level_options.map(\n (option: keyof typeof visibilityMapping) => ({\n label: visibilityMapping[option],\n value: option,\n })\n )\n );\n\n const [isMusicModalOpen, setIsMusicModalOpen] = useState(false);\n\n const isErrored = Object.values(errors).some((e) => e !== null);\n\n return (\n <div className=\"flex flex-col justify-between gap-5 max-w-80 w-80\">\n <div className=\"flex flex-col gap-3 text-start\">\n <p className=\"font-medium\">\n Paramètres spécifiques {channelAccount?.channel?.name}\n </p>\n <div className=\"flex gap-3\">\n <Switch\n checked={!settings?.disable_comments}\n onChange={(e) => updateSettings({ disable_comments: !e })}\n className={`${\n !settings?.disable_comments ? \"bg-green-300\" : \"bg-gray-200\"\n }\n relative inline-flex h-6 w-11 min-w-11 items-center rounded-full focus:ring-4 focus:outline-none ring-brand_focus ring-opacity-50 focus:border focus:border-brand_focus`}\n >\n <span className=\"sr-only\">Autoriser les commentaires</span>\n <span\n className={`${\n !settings?.disable_comments ? \"translate-x-6\" : \"translate-x-1\"\n }\n inline-block h-4 w-4 transform rounded-full bg-white transition`}\n />\n </Switch>\n Autoriser les commentaires\n </div>\n <div className=\"flex gap-3\">\n <Switch\n checked={!settings?.disable_duet}\n onChange={(e) => updateSettings({ disable_duet: !e })}\n className={`${\n !settings?.disable_duet ? \"bg-green-300\" : \"bg-gray-200\"\n }\n relative inline-flex h-6 w-11 min-w-11 items-center rounded-full focus:ring-4 focus:outline-none ring-brand_focus ring-opacity-50 focus:border focus:border-brand_focus`}\n >\n <span className=\"sr-only\">Autoriser les duos</span>\n <span\n className={`${\n !settings?.disable_duet ? \"translate-x-6\" : \"translate-x-1\"\n }\n inline-block h-4 w-4 transform rounded-full bg-white transition`}\n />\n </Switch>\n Autoriser les duos\n </div>\n <div className=\"flex gap-3\">\n <Switch\n checked={!settings?.disable_stitch}\n onChange={(e) => updateSettings({ disable_stitch: !e })}\n className={`${\n !settings?.disable_stitch ? \"bg-green-300\" : \"bg-gray-200\"\n }\n relative inline-flex h-6 w-11 min-w-11 items-center rounded-full focus:ring-4 focus:outline-none ring-brand_focus ring-opacity-50 focus:border focus:border-brand_focus`}\n >\n <span className=\"sr-only\">Autoriser les collages</span>\n <span\n className={`${\n !settings?.disable_stitch ? \"translate-x-6\" : \"translate-x-1\"\n }\n inline-block h-4 w-4 transform rounded-full bg-white transition`}\n />\n </Switch>\n Autoriser les collages\n </div>\n </div>\n\n <div className=\"flex flex-col gap-3 mt-5 text-start\">\n <div className=\"flex flex-col gap-1\">\n <p className=\"font-medium\">Visibilité</p>\n <Select\n value={settings?.privacy_level}\n placeHolder=\"Sélectionner la visibilité\"\n list={visibilityOptions}\n onChange={(value) => updateSettings({ privacy_level: value })}\n error={errors.privacy_level}\n />\n </div>\n </div>\n\n <div className=\"flex flex-col gap-3 mt-5 text-start\">\n <div className=\"flex justify-between w-full gap-3\">\n <p className=\"mb-3 font-medium\">Contenu commercial</p>\n <Switch\n checked={isSwitchOn}\n onChange={toggleSwitch}\n className={`${isSwitchOn ? \"bg-green-300\" : \"bg-gray-200\"}\n relative inline-flex h-6 w-11 min-w-11 items-center rounded-full focus:ring-4 focus:outline-none ring-brand_focus ring-opacity-50 focus:border focus:border-brand_focus`}\n >\n <span className=\"sr-only\">Contenu sponsorisé</span>\n <span\n className={`${isSwitchOn ? \"translate-x-6\" : \"translate-x-1\"}\n inline-block h-4 w-4 transform rounded-full bg-white transition`}\n />\n </Switch>\n </div>\n\n <div className=\"text-sm text-gray-700 text-start\">\n Indique aux autres utilisateurs que cette publication fait la\n promotion d'une marque, d'un produit ou d'un service.\n </div>\n\n {(isSwitchOn ||\n settings?.brand_organic_toggle ||\n settings?.brand_content_toggle) && (\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex justify-between gap-3\">\n <Tooltip\n text=\"Votre photo/vidéo sera étiquetée comme 'Contenu promotionnel'\"\n position=\"left\"\n >\n Pour ma marque\n </Tooltip>\n\n <Switch\n checked={settings?.brand_organic_toggle}\n onChange={(e) => updateSettings({ brand_organic_toggle: e })}\n className={`${\n settings?.brand_organic_toggle\n ? \"bg-green-300\"\n : \"bg-gray-200\"\n }\n relative inline-flex h-6 w-11 min-w-11 items-center rounded-full focus:ring-4 focus:outline-none ring-brand_focus ring-opacity-50 focus:border focus:border-brand_focus`}\n >\n <span className=\"sr-only\">Pour ma marque</span>\n <span\n className={`${\n settings?.brand_organic_toggle\n ? \"translate-x-6\"\n : \"translate-x-1\"\n }\n inline-block h-4 w-4 transform rounded-full bg-white transition`}\n />\n </Switch>\n </div>\n <div\n className={`flex gap-3 justify-between ${\n settings?.privacy_level === \"SELF_ONLY\" && \"text-gray-300\"\n }`}\n >\n <Tooltip\n text=\"Votre photo/vidéo sera étiquetée comme 'Contenu sponsorisé'\"\n position=\"left\"\n >\n Rémunéré par une autre marque\n </Tooltip>\n\n <Switch\n checked={settings?.brand_content_toggle}\n onChange={(e) => updateSettings({ brand_content_toggle: e })}\n disabled={settings?.privacy_level === \"SELF_ONLY\"}\n className={`${\n settings?.brand_content_toggle\n ? \"bg-green-300\"\n : \"bg-gray-200\"\n }\n relative inline-flex h-6 w-11 min-w-11 items-center rounded-full focus:ring-4 focus:outline-none ring-brand_focus ring-opacity-50 focus:border focus:border-brand_focus`}\n >\n <span className=\"sr-only\">Pour une autre marque</span>\n <span\n className={`${\n settings?.brand_content_toggle\n ? \"translate-x-6\"\n : \"translate-x-1\"\n }\n inline-block h-4 w-4 transform rounded-full bg-white transition`}\n />\n </Switch>\n </div>\n\n {errors.commercial_content && (\n <small className=\"mt-2 text-sm text-red-500\">\n {errors.commercial_content}\n </small>\n )}\n\n {settings?.brand_organic_toggle &&\n !settings?.brand_content_toggle && (\n <div className=\"text-sm text-gray-700 text-start\">\n En postant ce contenu vous accepter les conditions\n d'utilisation de{\" \"}\n <span\n className=\"italic text-indigo-500 cursor-pointer\"\n onClick={() => setIsMusicModalOpen(true)}\n >\n Confirmation d'utilisation de la musique\n </span>\n </div>\n )}\n {settings?.brand_content_toggle && (\n <div className=\"text-sm text-gray-700 text-start\">\n En postant ce contenu vous accepter les conditions d'utilisation\n de{\" \"}\n <a\n href=\"https://www.tiktok.com/legal/page/global/bc-policy/fr\"\n target=\"blank\"\n className=\"italic text-indigo-500\"\n >\n Politique relative au contenu de marque\n </a>{\" \"}\n et la{\" \"}\n <span\n className=\"italic text-indigo-500 cursor-pointer\"\n onClick={() => setIsMusicModalOpen(true)}\n >\n Confirmation d'utilisation de la musique\n </span>\n </div>\n )}\n {isMusicModalOpen && (\n <Modal open={isMusicModalOpen} setOpen={setIsMusicModalOpen}>\n <div className=\"max-w-md p-6 m-auto bg-white rounded-lg\">\n <h2 className=\"mb-4 text-xl font-semibold\">\n Confirmation d'utilisation de la musique\n </h2>\n <p className=\"mb-6\">\n Tu confirmes (a) qu'il n'y a pas de musique protégée par le\n droit d'auteur dans la vidéo ou (b) que tu as obtenu et payé\n toutes les licences nécessaires (y compris en ce qui\n concerne les droits sur les compositions musicales et les\n enregistrements maîtres dans lesquels elles sont\n incorporées) pour utiliser la musique dans le cadre de cette\n publication sur la plateforme TikTok. Si tu ne peux pas\n confirmer (a) ou (b) ci-dessus, alors n'accepte pas.\n Remarque : si tu partages quand même ta publication,\n celle-ci pourrait être retirée.\n </p>\n <div className=\"flex justify-end gap-4\">\n <button\n className=\"btn-brand-primary\"\n onClick={() => setIsMusicModalOpen(false)}\n >\n Fermer\n </button>\n </div>\n </div>\n </Modal>\n )}\n </div>\n )}\n\n <button\n type=\"button\"\n className={`rounded-md cursor-pointer inline-flex items-center px-2.5 py-1.5 font-medium text-sm shadow-sm duration-100 justify-center mt-3\n ${\n !isErrored\n ? \"bg-brand_main text-white hover:bg-brand_darker\"\n : \"bg-gray-300 text-gray-500 cursor-not-allowed\"\n }`}\n disabled={isErrored}\n onClick={() => {\n if (!isErrored) {\n setOpen(false);\n updatePoc(postOnChannel, {\n channel_specific_data: {\n ...postOnChannel.channel_specific_data,\n ...settings,\n },\n });\n }\n }}\n >\n Valider les paramètres TikTok\n </button>\n </div>\n </div>\n );\n};\n\nconst InstagramPubOptions = ({\n postOnChannel,\n channelAccount,\n updatePoc,\n setOpen,\n}: {\n postOnChannel: ProvisionalPost[\"post_on_channels_attributes\"][0];\n channelAccount: ChannelAccount;\n updatePoc: (\n poc: ProvisionalPost[\"post_on_channels_attributes\"][0],\n attributes: Record<string, any>\n ) => void;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n}) => {\n const [currentCollab, setCurrentColab] = useState<string>(\"\");\n\n const [collabs, setCollabs] = useState<string[]>(\n postOnChannel.channel_specific_data?.collaborators\n ); // parceque le poc ne se met pas à jour ici\n\n useEffect(() => {\n // à l'unmount on update\n updatePoc(postOnChannel, {\n channel_specific_data: { collaborators: collabs },\n });\n }, [collabs]);\n\n const submitCollab = () => {\n if (currentCollab) {\n setCollabs([...collabs, currentCollab]);\n }\n setCurrentColab(\"\");\n };\n const removeCollab = (toRemove: string) => {\n setCollabs(collabs.filter((c) => toRemove != c));\n };\n\n return (\n <div className=\"flex flex-col justify-start gap-5 max-w-80 w-80\">\n <div className=\"flex flex-col gap-3 text-start\">\n <p className=\"font-medium\">\n Paramètres spécifiques {channelAccount?.channel?.name}\n </p>\n </div>\n\n <div className=\"flex flex-col gap-3 mt-5 text-start\">\n <div className=\"flex flex-col gap-2\">\n <p className=\"font-medium\">Collaborateurs</p>\n <div className=\"gap-2 flex flex-wrap\">\n {collabs.map((c) => (\n <button\n key={c}\n type=\"button\"\n className=\"group relative text-sm font-medium text-gray-500 border-gray-300 bg-gray-100 border px-1 py-0.5 rounded-md hover:border-gray-400 hover:bg-gray-200 hover:text-gray-600\"\n onClick={() => removeCollab(c)}\n >\n {c}\n <div className=\"absolute right-0 top-0 hidden h-full group-hover:flex rounded-md overflow-hidden\">\n <div className=\"pl-2 pr-0.5 bg-gradient-to-r from-transparent to-40% to-gray-200 flex items-center\">\n <XMarkIcon className=\"size-4\" />\n </div>\n </div>\n </button>\n ))}\n </div>\n <div className=\"flex items-center relative\">\n <input\n type=\"text\"\n value={currentCollab}\n onChange={(e) => setCurrentColab(e.currentTarget.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n submitCollab();\n }\n }}\n className=\"peer pr-16 w-full text-sm form-input flex flex-1 rounded-md border-gray-300 shadow-sm focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20 \"\n placeholder=\"squeezie\"\n />\n <button\n type=\"button\"\n onClick={submitCollab}\n className=\"peer-focus:border-brand_focus peer-focus:text-brand_main absolute flex items-center right-0 h-full w-8 p-1 font-medium bg-gray-50 rounded-r-md border border-gray-300 hover:bg-gray-100 duration-300 text-gray-500\"\n >\n <PlusIcon className=\"inline m-auto h-4 w-4\" />\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n","import React from \"react\";\nimport { inputValues } from \"../types\";\n\ntype Props = {\n json: Object & { [key: string]: inputValues } | null;\n}\nconst DynamicFormGenerator = ({ json }: Props) => {\n const renderInput = (key: string, value: inputValues, parentKey = null) => {\n const name = parentKey ? `${parentKey}[${key}]` : key as string;\n const type = typeof value;\n\n if (type === 'string') {\n return <input className=\"hidden\" type=\"text\" name={name} value={value as string} readOnly />;\n }\n if (type === 'number') {\n return <input className=\"hidden\" type=\"number\" name={name} value={value as number} readOnly />;\n }\n if (type === 'boolean') {\n return <input className=\"hidden\" type=\"checkbox\" name={name} checked={value as boolean} readOnly />;\n }\n if (Array.isArray(value)) {\n return (\n <div key={key}>\n {value.map((item, index) => (\n <div key={`${name}-${index}`}>\n {renderInput(`${name}[]`, item)}\n </div>\n ))}\n </div>\n );\n }\n if (type === 'object') {\n return renderNestedObject(value as Object, name);\n }\n return null;\n };\n\n const renderNestedObject = (nestedObject: any, parentKey: any) => {\n return (\n <div>\n {nestedObject && Object.keys(nestedObject).map((key: string) => (\n <div key={key} className=\"ml-4\">\n {renderInput(key, nestedObject[key], parentKey)}\n </div>\n ))}\n </div>\n );\n };\n\n return (\n <>\n {json && Object.keys(json).map((key) => (\n <div key={key}>\n <label>{key}</label>\n {renderInput(key, json[key])}\n </div>\n ))}\n </>\n )\n}\n\nexport const HiddenInput = ({ name, value }: { name: string, value: inputValues }) => {\n const type = typeof value;\n\n if (type === 'string') {\n return <input className=\"hidden\" type=\"text\" name={name} value={value as string} readOnly />;\n }\n if (type === 'number') {\n return <input className=\"hidden\" type=\"number\" name={name} value={value as number} readOnly />;\n }\n if (type === 'boolean') {\n // On veut un false (0) ici si non coché, pas juste l'absence de params\n // donc on met un hidden field à 0, si le second est checked ça le remplace\n return <>\n <input className=\"hidden\" type=\"hidden\" name={name} value=\"0\" readOnly />\n <input className=\"hidden\" type=\"checkbox\" name={name} value=\"1\" checked={value as boolean} readOnly />\n </>\n }\n return null;\n};\n\nexport default DynamicFormGenerator;\n","export var ListenerType;\n(function(ListenerType) {\n ListenerType[\"mouse\"] = \"mouse\";\n ListenerType[\"touch\"] = \"touch\";\n ListenerType[\"keyboard\"] = \"keyboard\";\n})(ListenerType || (ListenerType = {}));\n\n//# sourceMappingURL=interfaces.js.map","export class OptionsReader {\n get delay() {\n var _delay;\n return (_delay = this.args.delay) !== null && _delay !== void 0 ? _delay : 0;\n }\n get scrollAngleRanges() {\n return this.args.scrollAngleRanges;\n }\n get getDropTargetElementsAtPoint() {\n return this.args.getDropTargetElementsAtPoint;\n }\n get ignoreContextMenu() {\n var _ignoreContextMenu;\n return (_ignoreContextMenu = this.args.ignoreContextMenu) !== null && _ignoreContextMenu !== void 0 ? _ignoreContextMenu : false;\n }\n get enableHoverOutsideTarget() {\n var _enableHoverOutsideTarget;\n return (_enableHoverOutsideTarget = this.args.enableHoverOutsideTarget) !== null && _enableHoverOutsideTarget !== void 0 ? _enableHoverOutsideTarget : false;\n }\n get enableKeyboardEvents() {\n var _enableKeyboardEvents;\n return (_enableKeyboardEvents = this.args.enableKeyboardEvents) !== null && _enableKeyboardEvents !== void 0 ? _enableKeyboardEvents : false;\n }\n get enableMouseEvents() {\n var _enableMouseEvents;\n return (_enableMouseEvents = this.args.enableMouseEvents) !== null && _enableMouseEvents !== void 0 ? _enableMouseEvents : false;\n }\n get enableTouchEvents() {\n var _enableTouchEvents;\n return (_enableTouchEvents = this.args.enableTouchEvents) !== null && _enableTouchEvents !== void 0 ? _enableTouchEvents : true;\n }\n get touchSlop() {\n return this.args.touchSlop || 0;\n }\n get delayTouchStart() {\n var ref, ref1;\n var ref2, ref3;\n return (ref3 = (ref2 = (ref = this.args) === null || ref === void 0 ? void 0 : ref.delayTouchStart) !== null && ref2 !== void 0 ? ref2 : (ref1 = this.args) === null || ref1 === void 0 ? void 0 : ref1.delay) !== null && ref3 !== void 0 ? ref3 : 0;\n }\n get delayMouseStart() {\n var ref, ref4;\n var ref5, ref6;\n return (ref6 = (ref5 = (ref = this.args) === null || ref === void 0 ? void 0 : ref.delayMouseStart) !== null && ref5 !== void 0 ? ref5 : (ref4 = this.args) === null || ref4 === void 0 ? void 0 : ref4.delay) !== null && ref6 !== void 0 ? ref6 : 0;\n }\n get window() {\n if (this.context && this.context.window) {\n return this.context.window;\n } else if (typeof window !== 'undefined') {\n return window;\n }\n return undefined;\n }\n get document() {\n var ref;\n if ((ref = this.context) === null || ref === void 0 ? void 0 : ref.document) {\n return this.context.document;\n }\n if (this.window) {\n return this.window.document;\n }\n return undefined;\n }\n get rootElement() {\n var ref;\n return ((ref = this.args) === null || ref === void 0 ? void 0 : ref.rootElement) || this.document;\n }\n constructor(args, context){\n this.args = args;\n this.context = context;\n }\n}\n\n//# sourceMappingURL=OptionsReader.js.map","export function distance(x1, y1, x2, y2) {\n return Math.sqrt(Math.pow(Math.abs(x2 - x1), 2) + Math.pow(Math.abs(y2 - y1), 2));\n}\nexport function inAngleRanges(x1, y1, x2, y2, angleRanges) {\n if (!angleRanges) {\n return false;\n }\n const angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI + 180;\n for(let i = 0; i < angleRanges.length; ++i){\n const ar = angleRanges[i];\n if (ar && (ar.start == null || angle >= ar.start) && (ar.end == null || angle <= ar.end)) {\n return true;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=math.js.map","// Used for MouseEvent.buttons (note the s on the end).\nconst MouseButtons = {\n Left: 1,\n Right: 2,\n Center: 4\n};\n// Used for e.button (note the lack of an s on the end).\nconst MouseButton = {\n Left: 0,\n Center: 1,\n Right: 2\n};\n/**\n * Only touch events and mouse events where the left button is pressed should initiate a drag.\n * @param {MouseEvent | TouchEvent} e The event\n */ export function eventShouldStartDrag(e) {\n // For touch events, button will be undefined. If e.button is defined,\n // then it should be MouseButton.Left.\n return e.button === undefined || e.button === MouseButton.Left;\n}\n/**\n * Only touch events and mouse events where the left mouse button is no longer held should end a drag.\n * It's possible the user mouse downs with the left mouse button, then mouse down and ups with the right mouse button.\n * We don't want releasing the right mouse button to end the drag.\n * @param {MouseEvent | TouchEvent} e The event\n */ export function eventShouldEndDrag(e) {\n // Touch events will have buttons be undefined, while mouse events will have e.buttons's left button\n // bit field unset if the left mouse button has been released\n return e.buttons === undefined || (e.buttons & MouseButtons.Left) === 0;\n}\nexport function isTouchEvent(e) {\n return !!e.targetTouches;\n}\n\n//# sourceMappingURL=predicates.js.map","import { isTouchEvent } from './predicates.js';\nconst ELEMENT_NODE = 1;\nexport function getNodeClientOffset(node) {\n const el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n if (!el) {\n return undefined;\n }\n const { top , left } = el.getBoundingClientRect();\n return {\n x: left,\n y: top\n };\n}\nexport function getEventClientTouchOffset(e, lastTargetTouchFallback) {\n if (e.targetTouches.length === 1) {\n return getEventClientOffset(e.targetTouches[0]);\n } else if (lastTargetTouchFallback && e.touches.length === 1) {\n if (e.touches[0].target === lastTargetTouchFallback.target) {\n return getEventClientOffset(e.touches[0]);\n }\n }\n return;\n}\nexport function getEventClientOffset(e, lastTargetTouchFallback) {\n if (isTouchEvent(e)) {\n return getEventClientTouchOffset(e, lastTargetTouchFallback);\n } else {\n return {\n x: e.clientX,\n y: e.clientY\n };\n }\n}\n\n//# sourceMappingURL=offsets.js.map","export const supportsPassive = (()=>{\n // simular to jQuery's test\n let supported = false;\n try {\n addEventListener('test', ()=>{\n // do nothing\n }, Object.defineProperty({}, 'passive', {\n get () {\n supported = true;\n return true;\n }\n }));\n } catch (e) {\n // do nothing\n }\n return supported;\n})();\n\n//# sourceMappingURL=supportsPassive.js.map","import { invariant } from '@react-dnd/invariant';\nimport { ListenerType } from './interfaces.js';\nimport { OptionsReader } from './OptionsReader.js';\nimport { distance, inAngleRanges } from './utils/math.js';\nimport { getEventClientOffset, getNodeClientOffset } from './utils/offsets.js';\nimport { eventShouldEndDrag, eventShouldStartDrag, isTouchEvent } from './utils/predicates.js';\nimport { supportsPassive } from './utils/supportsPassive.js';\nconst eventNames = {\n [ListenerType.mouse]: {\n start: 'mousedown',\n move: 'mousemove',\n end: 'mouseup',\n contextmenu: 'contextmenu'\n },\n [ListenerType.touch]: {\n start: 'touchstart',\n move: 'touchmove',\n end: 'touchend'\n },\n [ListenerType.keyboard]: {\n keydown: 'keydown'\n }\n};\nexport class TouchBackendImpl {\n /**\n\t * Generate profiling statistics for the HTML5Backend.\n\t */ profile() {\n var ref;\n return {\n sourceNodes: this.sourceNodes.size,\n sourcePreviewNodes: this.sourcePreviewNodes.size,\n sourcePreviewNodeOptions: this.sourcePreviewNodeOptions.size,\n targetNodes: this.targetNodes.size,\n dragOverTargetIds: ((ref = this.dragOverTargetIds) === null || ref === void 0 ? void 0 : ref.length) || 0\n };\n }\n // public for test\n get document() {\n return this.options.document;\n }\n setup() {\n const root = this.options.rootElement;\n if (!root) {\n return;\n }\n invariant(!TouchBackendImpl.isSetUp, 'Cannot have two Touch backends at the same time.');\n TouchBackendImpl.isSetUp = true;\n this.addEventListener(root, 'start', this.getTopMoveStartHandler());\n this.addEventListener(root, 'start', this.handleTopMoveStartCapture, true);\n this.addEventListener(root, 'move', this.handleTopMove);\n this.addEventListener(root, 'move', this.handleTopMoveCapture, true);\n this.addEventListener(root, 'end', this.handleTopMoveEndCapture, true);\n if (this.options.enableMouseEvents && !this.options.ignoreContextMenu) {\n this.addEventListener(root, 'contextmenu', this.handleTopMoveEndCapture);\n }\n if (this.options.enableKeyboardEvents) {\n this.addEventListener(root, 'keydown', this.handleCancelOnEscape, true);\n }\n }\n teardown() {\n const root = this.options.rootElement;\n if (!root) {\n return;\n }\n TouchBackendImpl.isSetUp = false;\n this._mouseClientOffset = {};\n this.removeEventListener(root, 'start', this.handleTopMoveStartCapture, true);\n this.removeEventListener(root, 'start', this.handleTopMoveStart);\n this.removeEventListener(root, 'move', this.handleTopMoveCapture, true);\n this.removeEventListener(root, 'move', this.handleTopMove);\n this.removeEventListener(root, 'end', this.handleTopMoveEndCapture, true);\n if (this.options.enableMouseEvents && !this.options.ignoreContextMenu) {\n this.removeEventListener(root, 'contextmenu', this.handleTopMoveEndCapture);\n }\n if (this.options.enableKeyboardEvents) {\n this.removeEventListener(root, 'keydown', this.handleCancelOnEscape, true);\n }\n this.uninstallSourceNodeRemovalObserver();\n }\n addEventListener(subject, event, handler, capture = false) {\n const options = supportsPassive ? {\n capture,\n passive: false\n } : capture;\n this.listenerTypes.forEach(function(listenerType) {\n const evt = eventNames[listenerType][event];\n if (evt) {\n subject.addEventListener(evt, handler, options);\n }\n });\n }\n removeEventListener(subject, event, handler, capture = false) {\n const options = supportsPassive ? {\n capture,\n passive: false\n } : capture;\n this.listenerTypes.forEach(function(listenerType) {\n const evt = eventNames[listenerType][event];\n if (evt) {\n subject.removeEventListener(evt, handler, options);\n }\n });\n }\n connectDragSource(sourceId, node) {\n const handleMoveStart = this.handleMoveStart.bind(this, sourceId);\n this.sourceNodes.set(sourceId, node);\n this.addEventListener(node, 'start', handleMoveStart);\n return ()=>{\n this.sourceNodes.delete(sourceId);\n this.removeEventListener(node, 'start', handleMoveStart);\n };\n }\n connectDragPreview(sourceId, node, options) {\n this.sourcePreviewNodeOptions.set(sourceId, options);\n this.sourcePreviewNodes.set(sourceId, node);\n return ()=>{\n this.sourcePreviewNodes.delete(sourceId);\n this.sourcePreviewNodeOptions.delete(sourceId);\n };\n }\n connectDropTarget(targetId, node) {\n const root = this.options.rootElement;\n if (!this.document || !root) {\n return ()=>{\n /* noop */ };\n }\n const handleMove = (e)=>{\n if (!this.document || !root || !this.monitor.isDragging()) {\n return;\n }\n let coords;\n /**\n\t\t\t * Grab the coordinates for the current mouse/touch position\n\t\t\t */ switch(e.type){\n case eventNames.mouse.move:\n coords = {\n x: e.clientX,\n y: e.clientY\n };\n break;\n case eventNames.touch.move:\n var ref, ref1;\n coords = {\n x: ((ref = e.touches[0]) === null || ref === void 0 ? void 0 : ref.clientX) || 0,\n y: ((ref1 = e.touches[0]) === null || ref1 === void 0 ? void 0 : ref1.clientY) || 0\n };\n break;\n }\n /**\n\t\t\t * Use the coordinates to grab the element the drag ended on.\n\t\t\t * If the element is the same as the target node (or any of it's children) then we have hit a drop target and can handle the move.\n\t\t\t */ const droppedOn = coords != null ? this.document.elementFromPoint(coords.x, coords.y) : undefined;\n const childMatch = droppedOn && node.contains(droppedOn);\n if (droppedOn === node || childMatch) {\n return this.handleMove(e, targetId);\n }\n };\n /**\n\t\t * Attaching the event listener to the body so that touchmove will work while dragging over multiple target elements.\n\t\t */ this.addEventListener(this.document.body, 'move', handleMove);\n this.targetNodes.set(targetId, node);\n return ()=>{\n if (this.document) {\n this.targetNodes.delete(targetId);\n this.removeEventListener(this.document.body, 'move', handleMove);\n }\n };\n }\n getTopMoveStartHandler() {\n if (!this.options.delayTouchStart && !this.options.delayMouseStart) {\n return this.handleTopMoveStart;\n }\n return this.handleTopMoveStartDelay;\n }\n installSourceNodeRemovalObserver(node) {\n this.uninstallSourceNodeRemovalObserver();\n this.draggedSourceNode = node;\n this.draggedSourceNodeRemovalObserver = new MutationObserver(()=>{\n if (node && !node.parentElement) {\n this.resurrectSourceNode();\n this.uninstallSourceNodeRemovalObserver();\n }\n });\n if (!node || !node.parentElement) {\n return;\n }\n this.draggedSourceNodeRemovalObserver.observe(node.parentElement, {\n childList: true\n });\n }\n resurrectSourceNode() {\n if (this.document && this.draggedSourceNode) {\n this.draggedSourceNode.style.display = 'none';\n this.draggedSourceNode.removeAttribute('data-reactid');\n this.document.body.appendChild(this.draggedSourceNode);\n }\n }\n uninstallSourceNodeRemovalObserver() {\n if (this.draggedSourceNodeRemovalObserver) {\n this.draggedSourceNodeRemovalObserver.disconnect();\n }\n this.draggedSourceNodeRemovalObserver = undefined;\n this.draggedSourceNode = undefined;\n }\n constructor(manager, context, options){\n this.getSourceClientOffset = (sourceId)=>{\n const element = this.sourceNodes.get(sourceId);\n return element && getNodeClientOffset(element);\n };\n this.handleTopMoveStartCapture = (e)=>{\n if (!eventShouldStartDrag(e)) {\n return;\n }\n this.moveStartSourceIds = [];\n };\n this.handleMoveStart = (sourceId)=>{\n // Just because we received an event doesn't necessarily mean we need to collect drag sources.\n // We only collect start collecting drag sources on touch and left mouse events.\n if (Array.isArray(this.moveStartSourceIds)) {\n this.moveStartSourceIds.unshift(sourceId);\n }\n };\n this.handleTopMoveStart = (e)=>{\n if (!eventShouldStartDrag(e)) {\n return;\n }\n // Don't prematurely preventDefault() here since it might:\n // 1. Mess up scrolling\n // 2. Mess up long tap (which brings up context menu)\n // 3. If there's an anchor link as a child, tap won't be triggered on link\n const clientOffset = getEventClientOffset(e);\n if (clientOffset) {\n if (isTouchEvent(e)) {\n this.lastTargetTouchFallback = e.targetTouches[0];\n }\n this._mouseClientOffset = clientOffset;\n }\n this.waitingForDelay = false;\n };\n this.handleTopMoveStartDelay = (e)=>{\n if (!eventShouldStartDrag(e)) {\n return;\n }\n const delay = e.type === eventNames.touch.start ? this.options.delayTouchStart : this.options.delayMouseStart;\n this.timeout = setTimeout(this.handleTopMoveStart.bind(this, e), delay);\n this.waitingForDelay = true;\n };\n this.handleTopMoveCapture = ()=>{\n this.dragOverTargetIds = [];\n };\n this.handleMove = (_evt, targetId)=>{\n if (this.dragOverTargetIds) {\n this.dragOverTargetIds.unshift(targetId);\n }\n };\n this.handleTopMove = (e1)=>{\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (!this.document || this.waitingForDelay) {\n return;\n }\n const { moveStartSourceIds , dragOverTargetIds } = this;\n const enableHoverOutsideTarget = this.options.enableHoverOutsideTarget;\n const clientOffset = getEventClientOffset(e1, this.lastTargetTouchFallback);\n if (!clientOffset) {\n return;\n }\n // If the touch move started as a scroll, or is is between the scroll angles\n if (this._isScrolling || !this.monitor.isDragging() && inAngleRanges(this._mouseClientOffset.x || 0, this._mouseClientOffset.y || 0, clientOffset.x, clientOffset.y, this.options.scrollAngleRanges)) {\n this._isScrolling = true;\n return;\n }\n // If we're not dragging and we've moved a little, that counts as a drag start\n if (!this.monitor.isDragging() && // eslint-disable-next-line no-prototype-builtins\n this._mouseClientOffset.hasOwnProperty('x') && moveStartSourceIds && distance(this._mouseClientOffset.x || 0, this._mouseClientOffset.y || 0, clientOffset.x, clientOffset.y) > (this.options.touchSlop ? this.options.touchSlop : 0)) {\n this.moveStartSourceIds = undefined;\n this.actions.beginDrag(moveStartSourceIds, {\n clientOffset: this._mouseClientOffset,\n getSourceClientOffset: this.getSourceClientOffset,\n publishSource: false\n });\n }\n if (!this.monitor.isDragging()) {\n return;\n }\n const sourceNode = this.sourceNodes.get(this.monitor.getSourceId());\n this.installSourceNodeRemovalObserver(sourceNode);\n this.actions.publishDragSource();\n if (e1.cancelable) e1.preventDefault();\n // Get the node elements of the hovered DropTargets\n const dragOverTargetNodes = (dragOverTargetIds || []).map((key)=>this.targetNodes.get(key)\n ).filter((e)=>!!e\n );\n // Get the a ordered list of nodes that are touched by\n const elementsAtPoint = this.options.getDropTargetElementsAtPoint ? this.options.getDropTargetElementsAtPoint(clientOffset.x, clientOffset.y, dragOverTargetNodes) : this.document.elementsFromPoint(clientOffset.x, clientOffset.y);\n // Extend list with parents that are not receiving elementsFromPoint events (size 0 elements and svg groups)\n const elementsAtPointExtended = [];\n for(const nodeId in elementsAtPoint){\n // eslint-disable-next-line no-prototype-builtins\n if (!elementsAtPoint.hasOwnProperty(nodeId)) {\n continue;\n }\n let currentNode = elementsAtPoint[nodeId];\n if (currentNode != null) {\n elementsAtPointExtended.push(currentNode);\n }\n while(currentNode){\n currentNode = currentNode.parentElement;\n if (currentNode && elementsAtPointExtended.indexOf(currentNode) === -1) {\n elementsAtPointExtended.push(currentNode);\n }\n }\n }\n const orderedDragOverTargetIds = elementsAtPointExtended// Filter off nodes that arent a hovered DropTargets nodes\n .filter((node)=>dragOverTargetNodes.indexOf(node) > -1\n )// Map back the nodes elements to targetIds\n .map((node)=>this._getDropTargetId(node)\n )// Filter off possible null rows\n .filter((node)=>!!node\n ).filter((id, index, ids)=>ids.indexOf(id) === index\n );\n // Invoke hover for drop targets when source node is still over and pointer is outside\n if (enableHoverOutsideTarget) {\n for(const targetId in this.targetNodes){\n const targetNode = this.targetNodes.get(targetId);\n if (sourceNode && targetNode && targetNode.contains(sourceNode) && orderedDragOverTargetIds.indexOf(targetId) === -1) {\n orderedDragOverTargetIds.unshift(targetId);\n break;\n }\n }\n }\n // Reverse order because dnd-core reverse it before calling the DropTarget drop methods\n orderedDragOverTargetIds.reverse();\n this.actions.hover(orderedDragOverTargetIds, {\n clientOffset: clientOffset\n });\n };\n /**\n\t *\n\t * visible for testing\n\t */ this._getDropTargetId = (node)=>{\n const keys = this.targetNodes.keys();\n let next = keys.next();\n while(next.done === false){\n const targetId = next.value;\n if (node === this.targetNodes.get(targetId)) {\n return targetId;\n } else {\n next = keys.next();\n }\n }\n return undefined;\n };\n this.handleTopMoveEndCapture = (e)=>{\n this._isScrolling = false;\n this.lastTargetTouchFallback = undefined;\n if (!eventShouldEndDrag(e)) {\n return;\n }\n if (!this.monitor.isDragging() || this.monitor.didDrop()) {\n this.moveStartSourceIds = undefined;\n return;\n }\n if (e.cancelable) e.preventDefault();\n this._mouseClientOffset = {};\n this.uninstallSourceNodeRemovalObserver();\n this.actions.drop();\n this.actions.endDrag();\n };\n this.handleCancelOnEscape = (e)=>{\n if (e.key === 'Escape' && this.monitor.isDragging()) {\n this._mouseClientOffset = {};\n this.uninstallSourceNodeRemovalObserver();\n this.actions.endDrag();\n }\n };\n this.options = new OptionsReader(options, context);\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.sourceNodes = new Map();\n this.sourcePreviewNodes = new Map();\n this.sourcePreviewNodeOptions = new Map();\n this.targetNodes = new Map();\n this.listenerTypes = [];\n this._mouseClientOffset = {};\n this._isScrolling = false;\n if (this.options.enableMouseEvents) {\n this.listenerTypes.push(ListenerType.mouse);\n }\n if (this.options.enableTouchEvents) {\n this.listenerTypes.push(ListenerType.touch);\n }\n if (this.options.enableKeyboardEvents) {\n this.listenerTypes.push(ListenerType.keyboard);\n }\n }\n}\n\n//# sourceMappingURL=TouchBackendImpl.js.map","import { TouchBackendImpl } from './TouchBackendImpl.js';\nexport * from './interfaces.js';\nexport * from './TouchBackendImpl.js';\nexport const TouchBackend = function createBackend(manager, context = {}, options = {}) {\n return new TouchBackendImpl(manager, context, options);\n};\n\n//# sourceMappingURL=index.js.map","import { useEffect, useState } from \"react\";\nimport { isSmallDevices } from \"../utils/various\";\n\nconst isServer = typeof window === 'undefined';\n\nexport const useIsMobile = () => {\n const [isMobile, setIsMobile] = useState(isSmallDevices);\n const handleWindowSizeChange = () => {\n setIsMobile(isSmallDevices);\n };\n\n useEffect(() => {\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n };\n }, []);\n\n return isMobile;\n};","import React from \"react\"\n\nexport const ContentMediumIcon = ({ className }: { className: string }) => {\n return (\n <svg className={className} viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M36.6666 21.1633C36.6633 23.6133 36.645 25.6933 36.5066 27.4017C36.345 29.385 36.0133 31.0417 35.2733 32.4167C34.9504 33.0195 34.5404 33.5716 34.0566 34.055C32.6683 35.4433 30.9016 36.0717 28.6616 36.3717C26.4733 36.6667 23.6666 36.6667 20.0883 36.6667H19.9116C16.3316 36.6667 13.5283 36.6667 11.3383 36.3717C9.09998 36.0717 7.33165 35.4433 5.94498 34.055C4.71498 32.825 4.07831 31.295 3.74165 29.3967C3.40831 27.53 3.34831 25.21 3.33665 22.3283C3.33331 21.595 3.33331 20.82 3.33331 20V19.91C3.33331 16.33 3.33331 13.5267 3.62831 11.3367C3.92831 9.09833 4.55665 7.33 5.94498 5.94333C7.33165 4.555 9.09998 3.92667 11.3383 3.62667C13.285 3.365 15.7883 3.335 18.8366 3.33167C19.1452 3.33167 19.4411 3.45423 19.6592 3.6724C19.8774 3.89057 20 4.18647 20 4.495C20 4.80354 19.8774 5.09943 19.6592 5.3176C19.4411 5.53577 19.1452 5.65833 18.8366 5.65833C15.745 5.66167 13.4466 5.68833 11.6483 5.93C9.66665 6.19667 8.47165 6.70333 7.58831 7.58667C6.70498 8.47 6.19998 9.66667 5.93331 11.65C5.66165 13.6667 5.65831 16.3133 5.65831 20V21.3067L7.21165 19.95C7.89253 19.3543 8.77435 19.0396 9.67856 19.0696C10.5828 19.0996 11.4418 19.4721 12.0816 20.1117L18.7316 26.7617C19.2476 27.2779 19.9291 27.5956 20.6563 27.6587C21.3834 27.7218 22.1095 27.5263 22.7066 27.1067L23.17 26.7817C24.0313 26.1763 25.0725 25.8811 26.1234 25.9444C27.1742 26.0076 28.1725 26.4256 28.955 27.13L33.3433 31.08C33.785 30.1517 34.0483 28.9333 34.1883 27.2133C34.32 25.5933 34.3383 23.6267 34.34 21.1633C34.34 20.8548 34.4625 20.5589 34.6807 20.3407C34.8989 20.1226 35.1948 20 35.5033 20C35.8118 20 36.1077 20.1226 36.3259 20.3407C36.5441 20.5589 36.6666 20.8548 36.6666 21.1633Z\" />\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M29.1666 18.3333C25.6316 18.3333 23.8633 18.3333 22.765 17.235C21.6666 16.1367 21.6666 14.3683 21.6666 10.8333C21.6666 7.29833 21.6666 5.53 22.765 4.43167C23.8633 3.33333 25.6316 3.33333 29.1666 3.33333C32.7016 3.33333 34.47 3.33333 35.5683 4.43167C36.6666 5.53 36.6666 7.29833 36.6666 10.8333C36.6666 14.3683 36.6666 16.1367 35.5683 17.235C34.47 18.3333 32.7016 18.3333 29.1666 18.3333ZM32.55 9.11667L30.05 6.61667C29.8156 6.38258 29.4979 6.2511 29.1666 6.2511C28.8354 6.2511 28.5177 6.38258 28.2833 6.61667L25.7833 9.11667C25.5625 9.35363 25.4423 9.66704 25.448 9.99087C25.4537 10.3147 25.5849 10.6237 25.8139 10.8527C26.0429 11.0817 26.3519 11.2129 26.6758 11.2186C26.9996 11.2243 27.313 11.1041 27.55 10.8833L27.9166 10.5167V14.1667C27.9166 14.4982 28.0483 14.8161 28.2827 15.0505C28.5172 15.285 28.8351 15.4167 29.1666 15.4167C29.4981 15.4167 29.8161 15.285 30.0505 15.0505C30.2849 14.8161 30.4166 14.4982 30.4166 14.1667V10.5167L30.7833 10.8833C30.8977 11.0061 31.0357 11.1046 31.1891 11.173C31.3424 11.2413 31.5079 11.278 31.6758 11.281C31.8436 11.2839 32.0103 11.2531 32.166 11.1902C32.3216 11.1273 32.463 11.0338 32.5817 10.9151C32.7004 10.7964 32.794 10.655 32.8568 10.4993C32.9197 10.3437 32.9506 10.177 32.9476 10.0091C32.9446 9.84129 32.9079 9.67577 32.8396 9.52244C32.7713 9.3691 32.6728 9.2311 32.55 9.11667Z\" />\n </svg>\n )\n}\n\nexport const FileIcon = ({ className = \"\" }: { className: string }) => {\n return (\n <svg\n className={className}\n stroke=\"currentColor\"\n fill=\"none\"\n viewBox=\"0 0 48 48\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n","import { XMarkIcon } from \"@heroicons/react/20/solid\";\nimport React from \"react\";\n\nconst CustomCloseButton = ({\n open,\n setOpen,\n onClickEvent,\n}: {\n open?: boolean;\n setOpen?: React.Dispatch<React.SetStateAction<boolean>>;\n onClickEvent?: () => void;\n}) => {\n return (\n <button\n type=\"button\"\n className=\"absolute top-2 right-2 p-1 rounded-md hover:bg-gray-100 group\"\n onClick={() => {\n if (onClickEvent) onClickEvent();\n if (setOpen && open) setOpen(!open);\n }}\n >\n <XMarkIcon className=\"size-6 text-gray-400 group-hover:text-gray-500\" />\n </button>\n );\n};\n\nexport default CustomCloseButton;\n","import { Cloudinary } from '@cloudinary/url-gen';\nimport React, { useState, useEffect } from 'react'\nimport { set } from 'react-hook-form';\nimport { CloudinaryFile } from '../types/cloudinary_custom_types';\nimport { ContentMedium } from '../types';\n\n\ntype Props = {\n addMedia: (files: CloudinaryFile[]) => void;\n}\n\ntype UploadingFileStatus = {\n progress: number,\n status: \"waiting\" | \"errored\" | \"loading\" | \"done\"\n}\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: \"dcmekntwa\",\n },\n});\n\n\nfunction useMultiCloudinaryUpload({ addMedia }: Props): ({\n totalProgress: number,\n uploadFiles: (files: File[]) => void,\n}) {\n\n const [uploadingFilesStatus, setUploadingFilesStatus] = useState<Record<string, UploadingFileStatus>>({})\n\n const updateFileStatus = (\n signature: string,\n { status, progress }: UploadingFileStatus\n ) => setUploadingFilesStatus(prev => (\n { ...prev, [signature]: { status, progress } }\n ))\n\n const [files, setFiles] = useState<CloudinaryFile[]>([])\n \n const addFile = (file: CloudinaryFile) => {\n setFiles(prev => [...prev, file]);\n };\n\n useEffect(() => {\n // Quand il ya qqun && plus personne n'est loading, on a fini\n const statuses = Object.values(uploadingFilesStatus)\n .map(({ status }) => status)\n if (statuses.length > 0 && statuses.every(s => [\"errored\", \"done\"].includes(s))) {\n addMedia(files)\n setFiles([])\n setUploadingFilesStatus({})\n }\n }, [uploadingFilesStatus])\n\n const uploadFiles = async (files: File[]) => { \n files.forEach((file) => {\n const timestamp = Date.now().toString();\n // On passe par le backend pour ne pas exposer le secret (sert à signer)\n fetch(\n `/api/sign_cloudinary_upload?timestamp=${timestamp}&return_delete_token=true`\n ).then(async (signatureData) => {\n const { signature } = await signatureData.json();\n const url = `https://api.cloudinary.com/v1_1/${cld.getConfig().cloud?.cloudName\n }/upload`;\n const fd = new FormData();\n fd.append(\"file\", file);\n fd.append(\"api_key\", \"883898914556696\");\n fd.append(\"timestamp\", timestamp);\n fd.append(\"return_delete_token\", \"true\");\n fd.append(\"signature\", signature);\n // on utilise XHR pour avoir accès au progrès de l'upload\n const xhr = new XMLHttpRequest();\n Object.entries({\n progress: (e: any) => updateFileStatus(\n signature,\n { status: \"loading\", progress: (e.loaded * 100.0) / e.total }\n ),\n loadstart: (_e: any) => updateFileStatus(signature, {\n status: \"loading\", progress: 0\n }),\n error: (_e: any) => updateFileStatus(signature, {\n status: \"errored\", progress: 0\n }),\n }).forEach(\n ([k, f]: [string, (e: any) => void]) => xhr.upload.addEventListener(k, f)\n );\n\n xhr.onreadystatechange = function() {\n if (xhr.readyState == 4 && xhr.status == 200) {\n updateFileStatus(signature, { status: \"done\", progress: 100 })\n var response = JSON.parse(xhr.responseText);\n const identifier = `${response.resource_type}/${response.type}/v${response.version}/${response.public_id}.${response.format}`;\n addFile({ ...response, identifier });\n }\n };\n xhr.open(\"POST\", url, true);\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n xhr.send(fd);\n });\n });\n }\n \n const totalProgress = Object\n .values(uploadingFilesStatus)\n .reduce((acc, { progress }) => acc + progress, 0) / Object.keys(uploadingFilesStatus).length\n\n\n return { uploadFiles, totalProgress }\n}\n\nexport default useMultiCloudinaryUpload\n","import * as React from \"react\";\nfunction CheckIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M12.416 3.376a.75.75 0 0 1 .208 1.04l-5 7.5a.75.75 0 0 1-1.154.114l-3-3a.75.75 0 0 1 1.06-1.06l2.353 2.353 4.493-6.74a.75.75 0 0 1 1.04-.207Z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CheckIcon);\nexport default ForwardRef;","import React from \"react\";\n\nconst ImagePlaceholder = ({ animationProgress, color = \"bg-green-400\", index }: { animationProgress: number, color?: string, index?: number }) => {\n return (\n <div className=\"w-24 h-24 relative bg-transparent rounded-md overflow-hidden flex items-center justify-center\" key={`placeholder_image_${index}`}>\n {/* Mask */}\n <div className=\"w-[94px] h-[94px] bg-gray-200 z-[3] rounded-[5px] border-2 border-white\" />\n {/* Top border */}\n <div\n className={`absolute inset-0 h-[6px] ${color} rounded-sm transition-all duration-300 ease-linear`}\n style={{\n width: `${animationProgress >= 25 ? 100 : (animationProgress / 25) * 100}%`,\n }}\n />\n {/* Right border */}\n <div\n className={`absolute top-0 right-0 w-[8px] ${color} rounded-sm transition-all duration-300 ease-linear`}\n style={{\n height: `${animationProgress >= 50 ? 100 : animationProgress > 25 ? ((animationProgress - 25) / 25) * 100 : 0}%`,\n }}\n />\n {/* Bottom border */}\n <div\n className={`absolute bottom-0 right-0 h-[8px] ${color} rounded-sm transition-all duration-300 ease-linear`}\n style={{\n width: `${animationProgress >= 75 ? 100 : animationProgress > 50 ? ((animationProgress - 50) / 25) * 100 : 0}%`,\n }}\n />\n {/* Left border */}\n <div\n className={`absolute bottom-0 left-0 w-[8px] ${color} rounded-sm transition-all duration-300 ease-linear`}\n style={{\n height: `${animationProgress === 100 ? 100 : animationProgress > 75 ? ((animationProgress - 75) / 25) * 100 : 0}%`,\n }}\n />\n </div>\n );\n}\n\nexport default ImagePlaceholder;","/**\n * Browser Image Compression\n * v2.0.2\n * by Donald <donaldcwl@gmail.com>\n * https://github.com/Donaldcwl/browser-image-compression\n */\n\nfunction _mergeNamespaces(e,t){return t.forEach((function(t){t&&\"string\"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(r){if(\"default\"!==r&&!(r in e)){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}))})),Object.freeze(e)}function copyExifWithoutOrientation(e,t){return new Promise((function(r,i){let o;return getApp1Segment(e).then((function(e){try{return o=e,r(new Blob([t.slice(0,2),o,t.slice(2)],{type:\"image/jpeg\"}))}catch(e){return i(e)}}),i)}))}const getApp1Segment=e=>new Promise(((t,r)=>{const i=new FileReader;i.addEventListener(\"load\",(({target:{result:e}})=>{const i=new DataView(e);let o=0;if(65496!==i.getUint16(o))return r(\"not a valid JPEG\");for(o+=2;;){const a=i.getUint16(o);if(65498===a)break;const s=i.getUint16(o+2);if(65505===a&&1165519206===i.getUint32(o+4)){const a=o+10;let f;switch(i.getUint16(a)){case 18761:f=!0;break;case 19789:f=!1;break;default:return r(\"TIFF header contains invalid endian\")}if(42!==i.getUint16(a+2,f))return r(\"TIFF header contains invalid version\");const l=i.getUint32(a+4,f),c=a+l+2+12*i.getUint16(a+l,f);for(let e=a+l+2;e<c;e+=12){if(274==i.getUint16(e,f)){if(3!==i.getUint16(e+2,f))return r(\"Orientation data type is invalid\");if(1!==i.getUint32(e+4,f))return r(\"Orientation data count is invalid\");i.setUint16(e+8,1,f);break}}return t(e.slice(o,o+2+s))}o+=2+s}return t(new Blob)})),i.readAsArrayBuffer(e)}));var e={},t={get exports(){return e},set exports(t){e=t}};!function(e){var r,i,UZIP={};t.exports=UZIP,UZIP.parse=function(e,t){for(var r=UZIP.bin.readUshort,i=UZIP.bin.readUint,o=0,a={},s=new Uint8Array(e),f=s.length-4;101010256!=i(s,f);)f--;o=f;o+=4;var l=r(s,o+=4);r(s,o+=2);var c=i(s,o+=2),u=i(s,o+=4);o+=4,o=u;for(var h=0;h<l;h++){i(s,o),o+=4,o+=4,o+=4,i(s,o+=4);c=i(s,o+=4);var d=i(s,o+=4),A=r(s,o+=4),g=r(s,o+2),p=r(s,o+4);o+=6;var m=i(s,o+=8);o+=4,o+=A+g+p,UZIP._readLocal(s,m,a,c,d,t)}return a},UZIP._readLocal=function(e,t,r,i,o,a){var s=UZIP.bin.readUshort,f=UZIP.bin.readUint;f(e,t),s(e,t+=4),s(e,t+=2);var l=s(e,t+=2);f(e,t+=2),f(e,t+=4),t+=4;var c=s(e,t+=8),u=s(e,t+=2);t+=2;var h=UZIP.bin.readUTF8(e,t,c);if(t+=c,t+=u,a)r[h]={size:o,csize:i};else{var d=new Uint8Array(e.buffer,t);if(0==l)r[h]=new Uint8Array(d.buffer.slice(t,t+i));else{if(8!=l)throw\"unknown compression method: \"+l;var A=new Uint8Array(o);UZIP.inflateRaw(d,A),r[h]=A}}},UZIP.inflateRaw=function(e,t){return UZIP.F.inflate(e,t)},UZIP.inflate=function(e,t){return e[0],e[1],UZIP.inflateRaw(new Uint8Array(e.buffer,e.byteOffset+2,e.length-6),t)},UZIP.deflate=function(e,t){null==t&&(t={level:6});var r=0,i=new Uint8Array(50+Math.floor(1.1*e.length));i[r]=120,i[r+1]=156,r+=2,r=UZIP.F.deflateRaw(e,i,r,t.level);var o=UZIP.adler(e,0,e.length);return i[r+0]=o>>>24&255,i[r+1]=o>>>16&255,i[r+2]=o>>>8&255,i[r+3]=o>>>0&255,new Uint8Array(i.buffer,0,r+4)},UZIP.deflateRaw=function(e,t){null==t&&(t={level:6});var r=new Uint8Array(50+Math.floor(1.1*e.length)),i=UZIP.F.deflateRaw(e,r,i,t.level);return new Uint8Array(r.buffer,0,i)},UZIP.encode=function(e,t){null==t&&(t=!1);var r=0,i=UZIP.bin.writeUint,o=UZIP.bin.writeUshort,a={};for(var s in e){var f=!UZIP._noNeed(s)&&!t,l=e[s],c=UZIP.crc.crc(l,0,l.length);a[s]={cpr:f,usize:l.length,crc:c,file:f?UZIP.deflateRaw(l):l}}for(var s in a)r+=a[s].file.length+30+46+2*UZIP.bin.sizeUTF8(s);r+=22;var u=new Uint8Array(r),h=0,d=[];for(var s in a){var A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,0)}var g=0,p=h;for(var s in a){A=a[s];d.push(h),h=UZIP._writeHeader(u,h,s,A,1,d[g++])}var m=h-p;return i(u,h,101010256),h+=4,o(u,h+=4,g),o(u,h+=2,g),i(u,h+=2,m),i(u,h+=4,p),h+=4,h+=2,u.buffer},UZIP._noNeed=function(e){var t=e.split(\".\").pop().toLowerCase();return-1!=\"png,jpg,jpeg,zip\".indexOf(t)},UZIP._writeHeader=function(e,t,r,i,o,a){var s=UZIP.bin.writeUint,f=UZIP.bin.writeUshort,l=i.file;return s(e,t,0==o?67324752:33639248),t+=4,1==o&&(t+=2),f(e,t,20),f(e,t+=2,0),f(e,t+=2,i.cpr?8:0),s(e,t+=2,0),s(e,t+=4,i.crc),s(e,t+=4,l.length),s(e,t+=4,i.usize),f(e,t+=4,UZIP.bin.sizeUTF8(r)),f(e,t+=2,0),t+=2,1==o&&(t+=2,t+=2,s(e,t+=6,a),t+=4),t+=UZIP.bin.writeUTF8(e,t,r),0==o&&(e.set(l,t),t+=l.length),t},UZIP.crc={table:function(){for(var e=new Uint32Array(256),t=0;t<256;t++){for(var r=t,i=0;i<8;i++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update:function(e,t,r,i){for(var o=0;o<i;o++)e=UZIP.crc.table[255&(e^t[r+o])]^e>>>8;return e},crc:function(e,t,r){return 4294967295^UZIP.crc.update(4294967295,e,t,r)}},UZIP.adler=function(e,t,r){for(var i=1,o=0,a=t,s=t+r;a<s;){for(var f=Math.min(a+5552,s);a<f;)o+=i+=e[a++];i%=65521,o%=65521}return o<<16|i},UZIP.bin={readUshort:function(e,t){return e[t]|e[t+1]<<8},writeUshort:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255},readUint:function(e,t){return 16777216*e[t+3]+(e[t+2]<<16|e[t+1]<<8|e[t])},writeUint:function(e,t,r){e[t]=255&r,e[t+1]=r>>8&255,e[t+2]=r>>16&255,e[t+3]=r>>24&255},readASCII:function(e,t,r){for(var i=\"\",o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII:function(e,t,r){for(var i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},pad:function(e){return e.length<2?\"0\"+e:e},readUTF8:function(e,t,r){for(var i,o=\"\",a=0;a<r;a++)o+=\"%\"+UZIP.bin.pad(e[t+a].toString(16));try{i=decodeURIComponent(o)}catch(i){return UZIP.bin.readASCII(e,t,r)}return i},writeUTF8:function(e,t,r){for(var i=r.length,o=0,a=0;a<i;a++){var s=r.charCodeAt(a);if(0==(4294967168&s))e[t+o]=s,o++;else if(0==(4294965248&s))e[t+o]=192|s>>6,e[t+o+1]=128|s>>0&63,o+=2;else if(0==(4294901760&s))e[t+o]=224|s>>12,e[t+o+1]=128|s>>6&63,e[t+o+2]=128|s>>0&63,o+=3;else{if(0!=(4292870144&s))throw\"e\";e[t+o]=240|s>>18,e[t+o+1]=128|s>>12&63,e[t+o+2]=128|s>>6&63,e[t+o+3]=128|s>>0&63,o+=4}}return o},sizeUTF8:function(e){for(var t=e.length,r=0,i=0;i<t;i++){var o=e.charCodeAt(i);if(0==(4294967168&o))r++;else if(0==(4294965248&o))r+=2;else if(0==(4294901760&o))r+=3;else{if(0!=(4292870144&o))throw\"e\";r+=4}}return r}},UZIP.F={},UZIP.F.deflateRaw=function(e,t,r,i){var o=[[0,0,0,0,0],[4,4,8,4,0],[4,5,16,8,0],[4,6,16,16,0],[4,10,16,32,0],[8,16,32,32,0],[8,16,128,128,0],[8,32,128,256,0],[32,128,258,1024,1],[32,258,258,4096,1]][i],a=UZIP.F.U,s=UZIP.F._goodIndex;UZIP.F._hash;var f=UZIP.F._putsE,l=0,c=r<<3,u=0,h=e.length;if(0==i){for(;l<h;){f(t,c,l+(_=Math.min(65535,h-l))==h?1:0),c=UZIP.F._copyExact(e,l,_,t,c+8),l+=_}return c>>>3}var d=a.lits,A=a.strt,g=a.prev,p=0,m=0,w=0,v=0,b=0,y=0;for(h>2&&(A[y=UZIP.F._hash(e,0)]=0),l=0;l<h;l++){if(b=y,l+1<h-2){y=UZIP.F._hash(e,l+1);var E=l+1&32767;g[E]=A[y],A[y]=E}if(u<=l){(p>14e3||m>26697)&&h-l>100&&(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(l==h-1||u==h?1:0,d,p,v,e,w,l-w,t,c),p=m=v=0,w=l);var F=0;l<h-2&&(F=UZIP.F._bestMatch(e,l,g,b,Math.min(o[2],h-l),o[3]));var _=F>>>16,B=65535&F;if(0!=F){B=65535&F;var U=s(_=F>>>16,a.of0);a.lhst[257+U]++;var C=s(B,a.df0);a.dhst[C]++,v+=a.exb[U]+a.dxb[C],d[p]=_<<23|l-u,d[p+1]=B<<16|U<<8|C,p+=2,u=l+_}else a.lhst[e[l]]++;m++}}for(w==l&&0!=e.length||(u<l&&(d[p]=l-u,p+=2,u=l),c=UZIP.F._writeBlock(1,d,p,v,e,w,l-w,t,c),p=0,m=0,p=m=v=0,w=l);0!=(7&c);)c++;return c>>>3},UZIP.F._bestMatch=function(e,t,r,i,o,a){var s=32767&t,f=r[s],l=s-f+32768&32767;if(f==s||i!=UZIP.F._hash(e,t-l))return 0;for(var c=0,u=0,h=Math.min(32767,t);l<=h&&0!=--a&&f!=s;){if(0==c||e[t+c]==e[t+c-l]){var d=UZIP.F._howLong(e,t,l);if(d>c){if(u=l,(c=d)>=o)break;l+2<d&&(d=l+2);for(var A=0,g=0;g<d-2;g++){var p=t-l+g+32768&32767,m=p-r[p]+32768&32767;m>A&&(A=m,f=p)}}}l+=(s=f)-(f=r[s])+32768&32767}return c<<16|u},UZIP.F._howLong=function(e,t,r){if(e[t]!=e[t-r]||e[t+1]!=e[t+1-r]||e[t+2]!=e[t+2-r])return 0;var i=t,o=Math.min(e.length,t+258);for(t+=3;t<o&&e[t]==e[t-r];)t++;return t-i},UZIP.F._hash=function(e,t){return(e[t]<<8|e[t+1])+(e[t+2]<<4)&65535},UZIP.saved=0,UZIP.F._writeBlock=function(e,t,r,i,o,a,s,f,l){var c,u,h,d,A,g,p,m,w,v=UZIP.F.U,b=UZIP.F._putsF,y=UZIP.F._putsE;v.lhst[256]++,u=(c=UZIP.F.getTrees())[0],h=c[1],d=c[2],A=c[3],g=c[4],p=c[5],m=c[6],w=c[7];var E=32+(0==(l+3&7)?0:8-(l+3&7))+(s<<3),F=i+UZIP.F.contSize(v.fltree,v.lhst)+UZIP.F.contSize(v.fdtree,v.dhst),_=i+UZIP.F.contSize(v.ltree,v.lhst)+UZIP.F.contSize(v.dtree,v.dhst);_+=14+3*p+UZIP.F.contSize(v.itree,v.ihst)+(2*v.ihst[16]+3*v.ihst[17]+7*v.ihst[18]);for(var B=0;B<286;B++)v.lhst[B]=0;for(B=0;B<30;B++)v.dhst[B]=0;for(B=0;B<19;B++)v.ihst[B]=0;var U=E<F&&E<_?0:F<_?1:2;if(b(f,l,e),b(f,l+1,U),l+=3,0==U){for(;0!=(7&l);)l++;l=UZIP.F._copyExact(o,a,s,f,l)}else{var C,I;if(1==U&&(C=v.fltree,I=v.fdtree),2==U){UZIP.F.makeCodes(v.ltree,u),UZIP.F.revCodes(v.ltree,u),UZIP.F.makeCodes(v.dtree,h),UZIP.F.revCodes(v.dtree,h),UZIP.F.makeCodes(v.itree,d),UZIP.F.revCodes(v.itree,d),C=v.ltree,I=v.dtree,y(f,l,A-257),y(f,l+=5,g-1),y(f,l+=5,p-4),l+=4;for(var Q=0;Q<p;Q++)y(f,l+3*Q,v.itree[1+(v.ordr[Q]<<1)]);l+=3*p,l=UZIP.F._codeTiny(m,v.itree,f,l),l=UZIP.F._codeTiny(w,v.itree,f,l)}for(var M=a,x=0;x<r;x+=2){for(var S=t[x],R=S>>>23,T=M+(8388607&S);M<T;)l=UZIP.F._writeLit(o[M++],C,f,l);if(0!=R){var O=t[x+1],P=O>>16,H=O>>8&255,L=255&O;y(f,l=UZIP.F._writeLit(257+H,C,f,l),R-v.of0[H]),l+=v.exb[H],b(f,l=UZIP.F._writeLit(L,I,f,l),P-v.df0[L]),l+=v.dxb[L],M+=R}}l=UZIP.F._writeLit(256,C,f,l)}return l},UZIP.F._copyExact=function(e,t,r,i,o){var a=o>>>3;return i[a]=r,i[a+1]=r>>>8,i[a+2]=255-i[a],i[a+3]=255-i[a+1],a+=4,i.set(new Uint8Array(e.buffer,t,r),a),o+(r+4<<3)},UZIP.F.getTrees=function(){for(var e=UZIP.F.U,t=UZIP.F._hufTree(e.lhst,e.ltree,15),r=UZIP.F._hufTree(e.dhst,e.dtree,15),i=[],o=UZIP.F._lenCodes(e.ltree,i),a=[],s=UZIP.F._lenCodes(e.dtree,a),f=0;f<i.length;f+=2)e.ihst[i[f]]++;for(f=0;f<a.length;f+=2)e.ihst[a[f]]++;for(var l=UZIP.F._hufTree(e.ihst,e.itree,7),c=19;c>4&&0==e.itree[1+(e.ordr[c-1]<<1)];)c--;return[t,r,l,o,s,c,i,a]},UZIP.F.getSecond=function(e){for(var t=[],r=0;r<e.length;r+=2)t.push(e[r+1]);return t},UZIP.F.nonZero=function(e){for(var t=\"\",r=0;r<e.length;r+=2)0!=e[r+1]&&(t+=(r>>1)+\",\");return t},UZIP.F.contSize=function(e,t){for(var r=0,i=0;i<t.length;i++)r+=t[i]*e[1+(i<<1)];return r},UZIP.F._codeTiny=function(e,t,r,i){for(var o=0;o<e.length;o+=2){var a=e[o],s=e[o+1];i=UZIP.F._writeLit(a,t,r,i);var f=16==a?2:17==a?3:7;a>15&&(UZIP.F._putsE(r,i,s,f),i+=f)}return i},UZIP.F._lenCodes=function(e,t){for(var r=e.length;2!=r&&0==e[r-1];)r-=2;for(var i=0;i<r;i+=2){var o=e[i+1],a=i+3<r?e[i+3]:-1,s=i+5<r?e[i+5]:-1,f=0==i?-1:e[i-1];if(0==o&&a==o&&s==o){for(var l=i+5;l+2<r&&e[l+2]==o;)l+=2;(c=Math.min(l+1-i>>>1,138))<11?t.push(17,c-3):t.push(18,c-11),i+=2*c-2}else if(o==f&&a==o&&s==o){for(l=i+5;l+2<r&&e[l+2]==o;)l+=2;var c=Math.min(l+1-i>>>1,6);t.push(16,c-3),i+=2*c-2}else t.push(o,0)}return r>>>1},UZIP.F._hufTree=function(e,t,r){var i=[],o=e.length,a=t.length,s=0;for(s=0;s<a;s+=2)t[s]=0,t[s+1]=0;for(s=0;s<o;s++)0!=e[s]&&i.push({lit:s,f:e[s]});var f=i.length,l=i.slice(0);if(0==f)return 0;if(1==f){var c=i[0].lit;l=0==c?1:0;return t[1+(c<<1)]=1,t[1+(l<<1)]=1,1}i.sort((function(e,t){return e.f-t.f}));var u=i[0],h=i[1],d=0,A=1,g=2;for(i[0]={lit:-1,f:u.f+h.f,l:u,r:h,d:0};A!=f-1;)u=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],h=d!=A&&(g==f||i[d].f<i[g].f)?i[d++]:i[g++],i[A++]={lit:-1,f:u.f+h.f,l:u,r:h};var p=UZIP.F.setDepth(i[A-1],0);for(p>r&&(UZIP.F.restrictDepth(l,r,p),p=r),s=0;s<f;s++)t[1+(l[s].lit<<1)]=l[s].d;return p},UZIP.F.setDepth=function(e,t){return-1!=e.lit?(e.d=t,t):Math.max(UZIP.F.setDepth(e.l,t+1),UZIP.F.setDepth(e.r,t+1))},UZIP.F.restrictDepth=function(e,t,r){var i=0,o=1<<r-t,a=0;for(e.sort((function(e,t){return t.d==e.d?e.f-t.f:t.d-e.d})),i=0;i<e.length&&e[i].d>t;i++){var s=e[i].d;e[i].d=t,a+=o-(1<<r-s)}for(a>>>=r-t;a>0;){(s=e[i].d)<t?(e[i].d++,a-=1<<t-s-1):i++}for(;i>=0;i--)e[i].d==t&&a<0&&(e[i].d--,a++);0!=a&&console.log(\"debt left\")},UZIP.F._goodIndex=function(e,t){var r=0;return t[16|r]<=e&&(r|=16),t[8|r]<=e&&(r|=8),t[4|r]<=e&&(r|=4),t[2|r]<=e&&(r|=2),t[1|r]<=e&&(r|=1),r},UZIP.F._writeLit=function(e,t,r,i){return UZIP.F._putsF(r,i,t[e<<1]),i+t[1+(e<<1)]},UZIP.F.inflate=function(e,t){var r=Uint8Array;if(3==e[0]&&0==e[1])return t||new r(0);var i=UZIP.F,o=i._bitsF,a=i._bitsE,s=i._decodeTiny,f=i.makeCodes,l=i.codes2map,c=i._get17,u=i.U,h=null==t;h&&(t=new r(e.length>>>2<<3));for(var d,A,g=0,p=0,m=0,w=0,v=0,b=0,y=0,E=0,F=0;0==g;)if(g=o(e,F,1),p=o(e,F+1,2),F+=3,0!=p){if(h&&(t=UZIP.F._check(t,E+(1<<17))),1==p&&(d=u.flmap,A=u.fdmap,b=511,y=31),2==p){m=a(e,F,5)+257,w=a(e,F+5,5)+1,v=a(e,F+10,4)+4,F+=14;for(var _=0;_<38;_+=2)u.itree[_]=0,u.itree[_+1]=0;var B=1;for(_=0;_<v;_++){var U=a(e,F+3*_,3);u.itree[1+(u.ordr[_]<<1)]=U,U>B&&(B=U)}F+=3*v,f(u.itree,B),l(u.itree,B,u.imap),d=u.lmap,A=u.dmap,F=s(u.imap,(1<<B)-1,m+w,e,F,u.ttree);var C=i._copyOut(u.ttree,0,m,u.ltree);b=(1<<C)-1;var I=i._copyOut(u.ttree,m,w,u.dtree);y=(1<<I)-1,f(u.ltree,C),l(u.ltree,C,d),f(u.dtree,I),l(u.dtree,I,A)}for(;;){var Q=d[c(e,F)&b];F+=15&Q;var M=Q>>>4;if(M>>>8==0)t[E++]=M;else{if(256==M)break;var x=E+M-254;if(M>264){var S=u.ldef[M-257];x=E+(S>>>3)+a(e,F,7&S),F+=7&S}var R=A[c(e,F)&y];F+=15&R;var T=R>>>4,O=u.ddef[T],P=(O>>>4)+o(e,F,15&O);for(F+=15&O,h&&(t=UZIP.F._check(t,E+(1<<17)));E<x;)t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P],t[E]=t[E++-P];E=x}}}else{0!=(7&F)&&(F+=8-(7&F));var H=4+(F>>>3),L=e[H-4]|e[H-3]<<8;h&&(t=UZIP.F._check(t,E+L)),t.set(new r(e.buffer,e.byteOffset+H,L),E),F=H+L<<3,E+=L}return t.length==E?t:t.slice(0,E)},UZIP.F._check=function(e,t){var r=e.length;if(t<=r)return e;var i=new Uint8Array(Math.max(r<<1,t));return i.set(e,0),i},UZIP.F._decodeTiny=function(e,t,r,i,o,a){for(var s=UZIP.F._bitsE,f=UZIP.F._get17,l=0;l<r;){var c=e[f(i,o)&t];o+=15&c;var u=c>>>4;if(u<=15)a[l]=u,l++;else{var h=0,d=0;16==u?(d=3+s(i,o,2),o+=2,h=a[l-1]):17==u?(d=3+s(i,o,3),o+=3):18==u&&(d=11+s(i,o,7),o+=7);for(var A=l+d;l<A;)a[l]=h,l++}}return o},UZIP.F._copyOut=function(e,t,r,i){for(var o=0,a=0,s=i.length>>>1;a<r;){var f=e[a+t];i[a<<1]=0,i[1+(a<<1)]=f,f>o&&(o=f),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},UZIP.F.makeCodes=function(e,t){for(var r,i,o,a,s=UZIP.F.U,f=e.length,l=s.bl_count,c=0;c<=t;c++)l[c]=0;for(c=1;c<f;c+=2)l[e[c]]++;var u=s.next_code;for(r=0,l[0]=0,i=1;i<=t;i++)r=r+l[i-1]<<1,u[i]=r;for(o=0;o<f;o+=2)0!=(a=e[o+1])&&(e[o]=u[a],u[a]++)},UZIP.F.codes2map=function(e,t,r){for(var i=e.length,o=UZIP.F.U.rev15,a=0;a<i;a+=2)if(0!=e[a+1])for(var s=a>>1,f=e[a+1],l=s<<4|f,c=t-f,u=e[a]<<c,h=u+(1<<c);u!=h;){r[o[u]>>>15-t]=l,u++}},UZIP.F.revCodes=function(e,t){for(var r=UZIP.F.U.rev15,i=15-t,o=0;o<e.length;o+=2){var a=e[o]<<t-e[o+1];e[o]=r[a]>>>i}},UZIP.F._putsE=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},UZIP.F._putsF=function(e,t,r){r<<=7&t;var i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},UZIP.F._bitsE=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},UZIP.F._bitsF=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},UZIP.F._get17=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},UZIP.F._get25=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},UZIP.F.U=(r=Uint16Array,i=Uint32Array,{next_code:new r(16),bl_count:new r(16),ordr:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],of0:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],exb:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],ldef:new r(32),df0:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],dxb:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],ddef:new i(32),flmap:new r(512),fltree:[],fdmap:new r(32),fdtree:[],lmap:new r(32768),ltree:[],ttree:[],dmap:new r(32768),dtree:[],imap:new r(512),itree:[],rev15:new r(32768),lhst:new i(286),dhst:new i(30),ihst:new i(19),lits:new i(15e3),strt:new r(65536),prev:new r(32768)}),function(){for(var e=UZIP.F.U,t=0;t<32768;t++){var r=t;r=(4278255360&(r=(4042322160&(r=(3435973836&(r=(2863311530&r)>>>1|(1431655765&r)<<1))>>>2|(858993459&r)<<2))>>>4|(252645135&r)<<4))>>>8|(16711935&r)<<8,e.rev15[t]=(r>>>16|r<<16)>>>17}function pushV(e,t,r){for(;0!=t--;)e.push(0,r)}for(t=0;t<32;t++)e.ldef[t]=e.of0[t]<<3|e.exb[t],e.ddef[t]=e.df0[t]<<4|e.dxb[t];pushV(e.fltree,144,8),pushV(e.fltree,112,9),pushV(e.fltree,24,7),pushV(e.fltree,8,8),UZIP.F.makeCodes(e.fltree,9),UZIP.F.codes2map(e.fltree,9,e.flmap),UZIP.F.revCodes(e.fltree,9),pushV(e.fdtree,32,5),UZIP.F.makeCodes(e.fdtree,5),UZIP.F.codes2map(e.fdtree,5,e.fdmap),UZIP.F.revCodes(e.fdtree,5),pushV(e.itree,19,0),pushV(e.ltree,286,0),pushV(e.dtree,30,0),pushV(e.ttree,320,0)}()}();var UZIP=_mergeNamespaces({__proto__:null,default:e},[e]);const UPNG=function(){var e={nextZero(e,t){for(;0!=e[t];)t++;return t},readUshort:(e,t)=>e[t]<<8|e[t+1],writeUshort(e,t,r){e[t]=r>>8&255,e[t+1]=255&r},readUint:(e,t)=>16777216*e[t]+(e[t+1]<<16|e[t+2]<<8|e[t+3]),writeUint(e,t,r){e[t]=r>>24&255,e[t+1]=r>>16&255,e[t+2]=r>>8&255,e[t+3]=255&r},readASCII(e,t,r){let i=\"\";for(let o=0;o<r;o++)i+=String.fromCharCode(e[t+o]);return i},writeASCII(e,t,r){for(let i=0;i<r.length;i++)e[t+i]=r.charCodeAt(i)},readBytes(e,t,r){const i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i},pad:e=>e.length<2?`0${e}`:e,readUTF8(t,r,i){let o,a=\"\";for(let o=0;o<i;o++)a+=`%${e.pad(t[r+o].toString(16))}`;try{o=decodeURIComponent(a)}catch(o){return e.readASCII(t,r,i)}return o}};function decodeImage(t,r,i,o){const a=r*i,s=_getBPP(o),f=Math.ceil(r*s/8),l=new Uint8Array(4*a),c=new Uint32Array(l.buffer),{ctype:u}=o,{depth:h}=o,d=e.readUshort;if(6==u){const e=a<<2;if(8==h)for(var A=0;A<e;A+=4)l[A]=t[A],l[A+1]=t[A+1],l[A+2]=t[A+2],l[A+3]=t[A+3];if(16==h)for(A=0;A<e;A++)l[A]=t[A<<1]}else if(2==u){const e=o.tabs.tRNS;if(null==e){if(8==h)for(A=0;A<a;A++){var g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g]}if(16==h)for(A=0;A<a;A++){g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g]}}else{var p=e[0];const r=e[1],i=e[2];if(8==h)for(A=0;A<a;A++){var m=A<<2;g=3*A;c[A]=255<<24|t[g+2]<<16|t[g+1]<<8|t[g],t[g]==p&&t[g+1]==r&&t[g+2]==i&&(l[m+3]=0)}if(16==h)for(A=0;A<a;A++){m=A<<2,g=6*A;c[A]=255<<24|t[g+4]<<16|t[g+2]<<8|t[g],d(t,g)==p&&d(t,g+2)==r&&d(t,g+4)==i&&(l[m+3]=0)}}}else if(3==u){const e=o.tabs.PLTE,s=o.tabs.tRNS,c=s?s.length:0;if(1==h)for(var w=0;w<i;w++){var v=w*f,b=w*r;for(A=0;A<r;A++){m=b+A<<2;var y=3*(E=t[v+(A>>3)]>>7-((7&A)<<0)&1);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}if(2==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>2)]>>6-((3&A)<<1)&3);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(4==h)for(w=0;w<i;w++)for(v=w*f,b=w*r,A=0;A<r;A++){m=b+A<<2,y=3*(E=t[v+(A>>1)]>>4-((1&A)<<2)&15);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}if(8==h)for(A=0;A<a;A++){var E;m=A<<2,y=3*(E=t[A]);l[m]=e[y],l[m+1]=e[y+1],l[m+2]=e[y+2],l[m+3]=E<c?s[E]:255}}else if(4==u){if(8==h)for(A=0;A<a;A++){m=A<<2;var F=t[_=A<<1];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+1]}if(16==h)for(A=0;A<a;A++){var _;m=A<<2,F=t[_=A<<2];l[m]=F,l[m+1]=F,l[m+2]=F,l[m+3]=t[_+2]}}else if(0==u)for(p=o.tabs.tRNS?o.tabs.tRNS:-1,w=0;w<i;w++){const e=w*f,i=w*r;if(1==h)for(var B=0;B<r;B++){var U=(F=255*(t[e+(B>>>3)]>>>7-(7&B)&1))==255*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(2==h)for(B=0;B<r;B++){U=(F=85*(t[e+(B>>>2)]>>>6-((3&B)<<1)&3))==85*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(4==h)for(B=0;B<r;B++){U=(F=17*(t[e+(B>>>1)]>>>4-((1&B)<<2)&15))==17*p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(8==h)for(B=0;B<r;B++){U=(F=t[e+B])==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}else if(16==h)for(B=0;B<r;B++){F=t[e+(B<<1)],U=d(t,e+(B<<1))==p?0:255;c[i+B]=U<<24|F<<16|F<<8|F}}return l}function _decompress(e,r,i,o){const a=_getBPP(e),s=Math.ceil(i*a/8),f=new Uint8Array((s+1+e.interlace)*o);return r=e.tabs.CgBI?t(r,f):_inflate(r,f),0==e.interlace?r=_filterZero(r,e,0,i,o):1==e.interlace&&(r=function _readInterlace(e,t){const r=t.width,i=t.height,o=_getBPP(t),a=o>>3,s=Math.ceil(r*o/8),f=new Uint8Array(i*s);let l=0;const c=[0,0,4,0,2,0,1],u=[0,4,0,2,0,1,0],h=[8,8,8,4,4,2,2],d=[8,8,4,4,2,2,1];let A=0;for(;A<7;){const p=h[A],m=d[A];let w=0,v=0,b=c[A];for(;b<i;)b+=p,v++;let y=u[A];for(;y<r;)y+=m,w++;const E=Math.ceil(w*o/8);_filterZero(e,t,l,w,v);let F=0,_=c[A];for(;_<i;){let t=u[A],i=l+F*E<<3;for(;t<r;){var g;if(1==o)g=(g=e[i>>3])>>7-(7&i)&1,f[_*s+(t>>3)]|=g<<7-((7&t)<<0);if(2==o)g=(g=e[i>>3])>>6-(7&i)&3,f[_*s+(t>>2)]|=g<<6-((3&t)<<1);if(4==o)g=(g=e[i>>3])>>4-(7&i)&15,f[_*s+(t>>1)]|=g<<4-((1&t)<<2);if(o>=8){const r=_*s+t*a;for(let t=0;t<a;t++)f[r+t]=e[(i>>3)+t]}i+=o,t+=m}F++,_+=p}w*v!=0&&(l+=v*(1+E)),A+=1}return f}(r,e)),r}function _inflate(e,r){return t(new Uint8Array(e.buffer,2,e.length-6),r)}var t=function(){const e={H:{}};return e.H.N=function(t,r){const i=Uint8Array;let o,a,s=0,f=0,l=0,c=0,u=0,h=0,d=0,A=0,g=0;if(3==t[0]&&0==t[1])return r||new i(0);const p=e.H,m=p.b,w=p.e,v=p.R,b=p.n,y=p.A,E=p.Z,F=p.m,_=null==r;for(_&&(r=new i(t.length>>>2<<5));0==s;)if(s=m(t,g,1),f=m(t,g+1,2),g+=3,0!=f){if(_&&(r=e.H.W(r,A+(1<<17))),1==f&&(o=F.J,a=F.h,h=511,d=31),2==f){l=w(t,g,5)+257,c=w(t,g+5,5)+1,u=w(t,g+10,4)+4,g+=14;let e=1;for(var B=0;B<38;B+=2)F.Q[B]=0,F.Q[B+1]=0;for(B=0;B<u;B++){const r=w(t,g+3*B,3);F.Q[1+(F.X[B]<<1)]=r,r>e&&(e=r)}g+=3*u,b(F.Q,e),y(F.Q,e,F.u),o=F.w,a=F.d,g=v(F.u,(1<<e)-1,l+c,t,g,F.v);const r=p.V(F.v,0,l,F.C);h=(1<<r)-1;const i=p.V(F.v,l,c,F.D);d=(1<<i)-1,b(F.C,r),y(F.C,r,o),b(F.D,i),y(F.D,i,a)}for(;;){const e=o[E(t,g)&h];g+=15&e;const i=e>>>4;if(i>>>8==0)r[A++]=i;else{if(256==i)break;{let e=A+i-254;if(i>264){const r=F.q[i-257];e=A+(r>>>3)+w(t,g,7&r),g+=7&r}const o=a[E(t,g)&d];g+=15&o;const s=o>>>4,f=F.c[s],l=(f>>>4)+m(t,g,15&f);for(g+=15&f;A<e;)r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l],r[A]=r[A++-l];A=e}}}}else{0!=(7&g)&&(g+=8-(7&g));const o=4+(g>>>3),a=t[o-4]|t[o-3]<<8;_&&(r=e.H.W(r,A+a)),r.set(new i(t.buffer,t.byteOffset+o,a),A),g=o+a<<3,A+=a}return r.length==A?r:r.slice(0,A)},e.H.W=function(e,t){const r=e.length;if(t<=r)return e;const i=new Uint8Array(r<<1);return i.set(e,0),i},e.H.R=function(t,r,i,o,a,s){const f=e.H.e,l=e.H.Z;let c=0;for(;c<i;){const e=t[l(o,a)&r];a+=15&e;const i=e>>>4;if(i<=15)s[c]=i,c++;else{let e=0,t=0;16==i?(t=3+f(o,a,2),a+=2,e=s[c-1]):17==i?(t=3+f(o,a,3),a+=3):18==i&&(t=11+f(o,a,7),a+=7);const r=c+t;for(;c<r;)s[c]=e,c++}}return a},e.H.V=function(e,t,r,i){let o=0,a=0;const s=i.length>>>1;for(;a<r;){const r=e[a+t];i[a<<1]=0,i[1+(a<<1)]=r,r>o&&(o=r),a++}for(;a<s;)i[a<<1]=0,i[1+(a<<1)]=0,a++;return o},e.H.n=function(t,r){const i=e.H.m,o=t.length;let a,s,f;let l;const c=i.j;for(var u=0;u<=r;u++)c[u]=0;for(u=1;u<o;u+=2)c[t[u]]++;const h=i.K;for(a=0,c[0]=0,s=1;s<=r;s++)a=a+c[s-1]<<1,h[s]=a;for(f=0;f<o;f+=2)l=t[f+1],0!=l&&(t[f]=h[l],h[l]++)},e.H.A=function(t,r,i){const o=t.length,a=e.H.m.r;for(let e=0;e<o;e+=2)if(0!=t[e+1]){const o=e>>1,s=t[e+1],f=o<<4|s,l=r-s;let c=t[e]<<l;const u=c+(1<<l);for(;c!=u;){i[a[c]>>>15-r]=f,c++}}},e.H.l=function(t,r){const i=e.H.m.r,o=15-r;for(let e=0;e<t.length;e+=2){const a=t[e]<<r-t[e+1];t[e]=i[a]>>>o}},e.H.M=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8},e.H.I=function(e,t,r){r<<=7&t;const i=t>>>3;e[i]|=r,e[i+1]|=r>>>8,e[i+2]|=r>>>16},e.H.e=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8)>>>(7&t)&(1<<r)-1},e.H.b=function(e,t,r){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)&(1<<r)-1},e.H.Z=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16)>>>(7&t)},e.H.i=function(e,t){return(e[t>>>3]|e[1+(t>>>3)]<<8|e[2+(t>>>3)]<<16|e[3+(t>>>3)]<<24)>>>(7&t)},e.H.m=function(){const e=Uint16Array,t=Uint32Array;return{K:new e(16),j:new e(16),X:[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S:[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],T:[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0],q:new e(32),p:[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,65535,65535],z:[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0],c:new t(32),J:new e(512),_:[],h:new e(32),$:[],w:new e(32768),C:[],v:[],d:new e(32768),D:[],u:new e(512),Q:[],r:new e(32768),s:new t(286),Y:new t(30),a:new t(19),t:new t(15e3),k:new e(65536),g:new e(32768)}}(),function(){const t=e.H.m;for(var r=0;r<32768;r++){let e=r;e=(2863311530&e)>>>1|(1431655765&e)<<1,e=(3435973836&e)>>>2|(858993459&e)<<2,e=(4042322160&e)>>>4|(252645135&e)<<4,e=(4278255360&e)>>>8|(16711935&e)<<8,t.r[r]=(e>>>16|e<<16)>>>17}function n(e,t,r){for(;0!=t--;)e.push(0,r)}for(r=0;r<32;r++)t.q[r]=t.S[r]<<3|t.T[r],t.c[r]=t.p[r]<<4|t.z[r];n(t._,144,8),n(t._,112,9),n(t._,24,7),n(t._,8,8),e.H.n(t._,9),e.H.A(t._,9,t.J),e.H.l(t._,9),n(t.$,32,5),e.H.n(t.$,5),e.H.A(t.$,5,t.h),e.H.l(t.$,5),n(t.Q,19,0),n(t.C,286,0),n(t.D,30,0),n(t.v,320,0)}(),e.H.N}();function _getBPP(e){return[1,null,3,1,2,null,4][e.ctype]*e.depth}function _filterZero(e,t,r,i,o){let a=_getBPP(t);const s=Math.ceil(i*a/8);let f,l;a=Math.ceil(a/8);let c=e[r],u=0;if(c>1&&(e[r]=[0,0,1][c-2]),3==c)for(u=a;u<s;u++)e[u+1]=e[u+1]+(e[u+1-a]>>>1)&255;for(let t=0;t<o;t++)if(f=r+t*s,l=f+t+1,c=e[l-1],u=0,0==c)for(;u<s;u++)e[f+u]=e[l+u];else if(1==c){for(;u<a;u++)e[f+u]=e[l+u];for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-a]}else if(2==c)for(;u<s;u++)e[f+u]=e[l+u]+e[f+u-s];else if(3==c){for(;u<a;u++)e[f+u]=e[l+u]+(e[f+u-s]>>>1);for(;u<s;u++)e[f+u]=e[l+u]+(e[f+u-s]+e[f+u-a]>>>1)}else{for(;u<a;u++)e[f+u]=e[l+u]+_paeth(0,e[f+u-s],0);for(;u<s;u++)e[f+u]=e[l+u]+_paeth(e[f+u-a],e[f+u-s],e[f+u-a-s])}return e}function _paeth(e,t,r){const i=e+t-r,o=i-e,a=i-t,s=i-r;return o*o<=a*a&&o*o<=s*s?e:a*a<=s*s?t:r}function _IHDR(t,r,i){i.width=e.readUint(t,r),r+=4,i.height=e.readUint(t,r),r+=4,i.depth=t[r],r++,i.ctype=t[r],r++,i.compress=t[r],r++,i.filter=t[r],r++,i.interlace=t[r],r++}function _copyTile(e,t,r,i,o,a,s,f,l){const c=Math.min(t,o),u=Math.min(r,a);let h=0,d=0;for(let r=0;r<u;r++)for(let a=0;a<c;a++)if(s>=0&&f>=0?(h=r*t+a<<2,d=(f+r)*o+s+a<<2):(h=(-f+r)*t-s+a<<2,d=r*o+a<<2),0==l)i[d]=e[h],i[d+1]=e[h+1],i[d+2]=e[h+2],i[d+3]=e[h+3];else if(1==l){var A=e[h+3]*(1/255),g=e[h]*A,p=e[h+1]*A,m=e[h+2]*A,w=i[d+3]*(1/255),v=i[d]*w,b=i[d+1]*w,y=i[d+2]*w;const t=1-A,r=A+w*t,o=0==r?0:1/r;i[d+3]=255*r,i[d+0]=(g+v*t)*o,i[d+1]=(p+b*t)*o,i[d+2]=(m+y*t)*o}else if(2==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];A==w&&g==v&&p==b&&m==y?(i[d]=0,i[d+1]=0,i[d+2]=0,i[d+3]=0):(i[d]=g,i[d+1]=p,i[d+2]=m,i[d+3]=A)}else if(3==l){A=e[h+3],g=e[h],p=e[h+1],m=e[h+2],w=i[d+3],v=i[d],b=i[d+1],y=i[d+2];if(A==w&&g==v&&p==b&&m==y)continue;if(A<220&&w>20)return!1}return!0}return{decode:function decode(r){const i=new Uint8Array(r);let o=8;const a=e,s=a.readUshort,f=a.readUint,l={tabs:{},frames:[]},c=new Uint8Array(i.length);let u,h=0,d=0;const A=[137,80,78,71,13,10,26,10];for(var g=0;g<8;g++)if(i[g]!=A[g])throw\"The input is not a PNG file!\";for(;o<i.length;){const e=a.readUint(i,o);o+=4;const r=a.readASCII(i,o,4);if(o+=4,\"IHDR\"==r)_IHDR(i,o,l);else if(\"iCCP\"==r){for(var p=o;0!=i[p];)p++;a.readASCII(i,o,p-o),i[p+1];const s=i.slice(p+2,o+e);let f=null;try{f=_inflate(s)}catch(e){f=t(s)}l.tabs[r]=f}else if(\"CgBI\"==r)l.tabs[r]=i.slice(o,o+4);else if(\"IDAT\"==r){for(g=0;g<e;g++)c[h+g]=i[o+g];h+=e}else if(\"acTL\"==r)l.tabs[r]={num_frames:f(i,o),num_plays:f(i,o+4)},u=new Uint8Array(i.length);else if(\"fcTL\"==r){if(0!=d)(E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height),d=0;const e={x:f(i,o+12),y:f(i,o+16),width:f(i,o+4),height:f(i,o+8)};let t=s(i,o+22);t=s(i,o+20)/(0==t?100:t);const r={rect:e,delay:Math.round(1e3*t),dispose:i[o+24],blend:i[o+25]};l.frames.push(r)}else if(\"fdAT\"==r){for(g=0;g<e-4;g++)u[d+g]=i[o+g+4];d+=e-4}else if(\"pHYs\"==r)l.tabs[r]=[a.readUint(i,o),a.readUint(i,o+4),i[o+8]];else if(\"cHRM\"==r){l.tabs[r]=[];for(g=0;g<8;g++)l.tabs[r].push(a.readUint(i,o+4*g))}else if(\"tEXt\"==r||\"zTXt\"==r){null==l.tabs[r]&&(l.tabs[r]={});var m=a.nextZero(i,o),w=a.readASCII(i,o,m-o),v=o+e-m-1;if(\"tEXt\"==r)y=a.readASCII(i,m+1,v);else{var b=_inflate(i.slice(m+2,m+2+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if(\"iTXt\"==r){null==l.tabs[r]&&(l.tabs[r]={});m=0,p=o;m=a.nextZero(i,p);w=a.readASCII(i,p,m-p);const t=i[p=m+1];var y;i[p+1],p+=2,m=a.nextZero(i,p),a.readASCII(i,p,m-p),p=m+1,m=a.nextZero(i,p),a.readUTF8(i,p,m-p);v=e-((p=m+1)-o);if(0==t)y=a.readUTF8(i,p,v);else{b=_inflate(i.slice(p,p+v));y=a.readUTF8(b,0,b.length)}l.tabs[r][w]=y}else if(\"PLTE\"==r)l.tabs[r]=a.readBytes(i,o,e);else if(\"hIST\"==r){const e=l.tabs.PLTE.length/3;l.tabs[r]=[];for(g=0;g<e;g++)l.tabs[r].push(s(i,o+2*g))}else if(\"tRNS\"==r)3==l.ctype?l.tabs[r]=a.readBytes(i,o,e):0==l.ctype?l.tabs[r]=s(i,o):2==l.ctype&&(l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]);else if(\"gAMA\"==r)l.tabs[r]=a.readUint(i,o)/1e5;else if(\"sRGB\"==r)l.tabs[r]=i[o];else if(\"bKGD\"==r)0==l.ctype||4==l.ctype?l.tabs[r]=[s(i,o)]:2==l.ctype||6==l.ctype?l.tabs[r]=[s(i,o),s(i,o+2),s(i,o+4)]:3==l.ctype&&(l.tabs[r]=i[o]);else if(\"IEND\"==r)break;o+=e,a.readUint(i,o),o+=4}var E;return 0!=d&&((E=l.frames[l.frames.length-1]).data=_decompress(l,u.slice(0,d),E.rect.width,E.rect.height)),l.data=_decompress(l,c,l.width,l.height),delete l.compress,delete l.interlace,delete l.filter,l},toRGBA8:function toRGBA8(e){const t=e.width,r=e.height;if(null==e.tabs.acTL)return[decodeImage(e.data,t,r,e).buffer];const i=[];null==e.frames[0].data&&(e.frames[0].data=e.data);const o=t*r*4,a=new Uint8Array(o),s=new Uint8Array(o),f=new Uint8Array(o);for(let c=0;c<e.frames.length;c++){const u=e.frames[c],h=u.rect.x,d=u.rect.y,A=u.rect.width,g=u.rect.height,p=decodeImage(u.data,A,g,e);if(0!=c)for(var l=0;l<o;l++)f[l]=a[l];if(0==u.blend?_copyTile(p,A,g,a,t,r,h,d,0):1==u.blend&&_copyTile(p,A,g,a,t,r,h,d,1),i.push(a.buffer.slice(0)),0==u.dispose);else if(1==u.dispose)_copyTile(s,A,g,a,t,r,h,d,0);else if(2==u.dispose)for(l=0;l<o;l++)a[l]=f[l]}return i},_paeth:_paeth,_copyTile:_copyTile,_bin:e}}();!function(){const{_copyTile:e}=UPNG,{_bin:t}=UPNG,r=UPNG._paeth;var i={table:function(){const e=new Uint32Array(256);for(let t=0;t<256;t++){let r=t;for(let e=0;e<8;e++)1&r?r=3988292384^r>>>1:r>>>=1;e[t]=r}return e}(),update(e,t,r,o){for(let a=0;a<o;a++)e=i.table[255&(e^t[r+a])]^e>>>8;return e},crc:(e,t,r)=>4294967295^i.update(4294967295,e,t,r)};function addErr(e,t,r,i){t[r]+=e[0]*i>>4,t[r+1]+=e[1]*i>>4,t[r+2]+=e[2]*i>>4,t[r+3]+=e[3]*i>>4}function N(e){return Math.max(0,Math.min(255,e))}function D(e,t){const r=e[0]-t[0],i=e[1]-t[1],o=e[2]-t[2],a=e[3]-t[3];return r*r+i*i+o*o+a*a}function dither(e,t,r,i,o,a,s){null==s&&(s=1);const f=i.length,l=[];for(var c=0;c<f;c++){const e=i[c];l.push([e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255])}for(c=0;c<f;c++){let e=4294967295;for(var u=0,h=0;h<f;h++){var d=D(l[c],l[h]);h!=c&&d<e&&(e=d,u=h)}}const A=new Uint32Array(o.buffer),g=new Int16Array(t*r*4),p=[0,8,2,10,12,4,14,6,3,11,1,9,15,7,13,5];for(c=0;c<p.length;c++)p[c]=255*((p[c]+.5)/16-.5);for(let o=0;o<r;o++)for(let w=0;w<t;w++){var m;c=4*(o*t+w);if(2!=s)m=[N(e[c]+g[c]),N(e[c+1]+g[c+1]),N(e[c+2]+g[c+2]),N(e[c+3]+g[c+3])];else{d=p[4*(3&o)+(3&w)];m=[N(e[c]+d),N(e[c+1]+d),N(e[c+2]+d),N(e[c+3]+d)]}u=0;let v=16777215;for(h=0;h<f;h++){const e=D(m,l[h]);e<v&&(v=e,u=h)}const b=l[u],y=[m[0]-b[0],m[1]-b[1],m[2]-b[2],m[3]-b[3]];1==s&&(w!=t-1&&addErr(y,g,c+4,7),o!=r-1&&(0!=w&&addErr(y,g,c+4*t-4,3),addErr(y,g,c+4*t,5),w!=t-1&&addErr(y,g,c+4*t+4,1))),a[c>>2]=u,A[c>>2]=i[u]}}function _main(e,r,o,a,s){null==s&&(s={});const{crc:f}=i,l=t.writeUint,c=t.writeUshort,u=t.writeASCII;let h=8;const d=e.frames.length>1;let A,g=!1,p=33+(d?20:0);if(null!=s.sRGB&&(p+=13),null!=s.pHYs&&(p+=21),null!=s.iCCP&&(A=pako.deflate(s.iCCP),p+=21+A.length+4),3==e.ctype){for(var m=e.plte.length,w=0;w<m;w++)e.plte[w]>>>24!=255&&(g=!0);p+=8+3*m+4+(g?8+1*m+4:0)}for(var v=0;v<e.frames.length;v++){d&&(p+=38),p+=(F=e.frames[v]).cimg.length+12,0!=v&&(p+=4)}p+=12;const b=new Uint8Array(p),y=[137,80,78,71,13,10,26,10];for(w=0;w<8;w++)b[w]=y[w];if(l(b,h,13),h+=4,u(b,h,\"IHDR\"),h+=4,l(b,h,r),h+=4,l(b,h,o),h+=4,b[h]=e.depth,h++,b[h]=e.ctype,h++,b[h]=0,h++,b[h]=0,h++,b[h]=0,h++,l(b,h,f(b,h-17,17)),h+=4,null!=s.sRGB&&(l(b,h,1),h+=4,u(b,h,\"sRGB\"),h+=4,b[h]=s.sRGB,h++,l(b,h,f(b,h-5,5)),h+=4),null!=s.iCCP){const e=13+A.length;l(b,h,e),h+=4,u(b,h,\"iCCP\"),h+=4,u(b,h,\"ICC profile\"),h+=11,h+=2,b.set(A,h),h+=A.length,l(b,h,f(b,h-(e+4),e+4)),h+=4}if(null!=s.pHYs&&(l(b,h,9),h+=4,u(b,h,\"pHYs\"),h+=4,l(b,h,s.pHYs[0]),h+=4,l(b,h,s.pHYs[1]),h+=4,b[h]=s.pHYs[2],h++,l(b,h,f(b,h-13,13)),h+=4),d&&(l(b,h,8),h+=4,u(b,h,\"acTL\"),h+=4,l(b,h,e.frames.length),h+=4,l(b,h,null!=s.loop?s.loop:0),h+=4,l(b,h,f(b,h-12,12)),h+=4),3==e.ctype){l(b,h,3*(m=e.plte.length)),h+=4,u(b,h,\"PLTE\"),h+=4;for(w=0;w<m;w++){const t=3*w,r=e.plte[w],i=255&r,o=r>>>8&255,a=r>>>16&255;b[h+t+0]=i,b[h+t+1]=o,b[h+t+2]=a}if(h+=3*m,l(b,h,f(b,h-3*m-4,3*m+4)),h+=4,g){l(b,h,m),h+=4,u(b,h,\"tRNS\"),h+=4;for(w=0;w<m;w++)b[h+w]=e.plte[w]>>>24&255;h+=m,l(b,h,f(b,h-m-4,m+4)),h+=4}}let E=0;for(v=0;v<e.frames.length;v++){var F=e.frames[v];d&&(l(b,h,26),h+=4,u(b,h,\"fcTL\"),h+=4,l(b,h,E++),h+=4,l(b,h,F.rect.width),h+=4,l(b,h,F.rect.height),h+=4,l(b,h,F.rect.x),h+=4,l(b,h,F.rect.y),h+=4,c(b,h,a[v]),h+=2,c(b,h,1e3),h+=2,b[h]=F.dispose,h++,b[h]=F.blend,h++,l(b,h,f(b,h-30,30)),h+=4);const t=F.cimg;l(b,h,(m=t.length)+(0==v?0:4)),h+=4;const r=h;u(b,h,0==v?\"IDAT\":\"fdAT\"),h+=4,0!=v&&(l(b,h,E++),h+=4),b.set(t,h),h+=m,l(b,h,f(b,r,h-r)),h+=4}return l(b,h,0),h+=4,u(b,h,\"IEND\"),h+=4,l(b,h,f(b,h-4,4)),h+=4,b.buffer}function compressPNG(e,t,r){for(let i=0;i<e.frames.length;i++){const o=e.frames[i];o.rect.width;const a=o.rect.height,s=new Uint8Array(a*o.bpl+a);o.cimg=_filterZero(o.img,a,o.bpp,o.bpl,s,t,r)}}function compress(t,r,i,o,a){const s=a[0],f=a[1],l=a[2],c=a[3],u=a[4],h=a[5];let d=6,A=8,g=255;for(var p=0;p<t.length;p++){const e=new Uint8Array(t[p]);for(var m=e.length,w=0;w<m;w+=4)g&=e[w+3]}const v=255!=g,b=function framize(t,r,i,o,a,s){const f=[];for(var l=0;l<t.length;l++){const h=new Uint8Array(t[l]),A=new Uint32Array(h.buffer);var c;let g=0,p=0,m=r,w=i,v=o?1:0;if(0!=l){const b=s||o||1==l||0!=f[l-2].dispose?1:2;let y=0,E=1e9;for(let e=0;e<b;e++){var u=new Uint8Array(t[l-1-e]);const o=new Uint32Array(t[l-1-e]);let s=r,f=i,c=-1,h=-1;for(let e=0;e<i;e++)for(let t=0;t<r;t++){A[d=e*r+t]!=o[d]&&(t<s&&(s=t),t>c&&(c=t),e<f&&(f=e),e>h&&(h=e))}-1==c&&(s=f=c=h=0),a&&(1==(1&s)&&s--,1==(1&f)&&f--);const v=(c-s+1)*(h-f+1);v<E&&(E=v,y=e,g=s,p=f,m=c-s+1,w=h-f+1)}u=new Uint8Array(t[l-1-y]);1==y&&(f[l-1].dispose=2),c=new Uint8Array(m*w*4),e(u,r,i,c,m,w,-g,-p,0),v=e(h,r,i,c,m,w,-g,-p,3)?1:0,1==v?_prepareDiff(h,r,i,c,{x:g,y:p,width:m,height:w}):e(h,r,i,c,m,w,-g,-p,0)}else c=h.slice(0);f.push({rect:{x:g,y:p,width:m,height:w},img:c,blend:v,dispose:0})}if(o)for(l=0;l<f.length;l++){if(1==(A=f[l]).blend)continue;const e=A.rect,o=f[l-1].rect,s=Math.min(e.x,o.x),c=Math.min(e.y,o.y),u={x:s,y:c,width:Math.max(e.x+e.width,o.x+o.width)-s,height:Math.max(e.y+e.height,o.y+o.height)-c};f[l-1].dispose=1,l-1!=0&&_updateFrame(t,r,i,f,l-1,u,a),_updateFrame(t,r,i,f,l,u,a)}let h=0;if(1!=t.length)for(var d=0;d<f.length;d++){var A;h+=(A=f[d]).rect.width*A.rect.height}return f}(t,r,i,s,f,l),y={},E=[],F=[];if(0!=o){const e=[];for(w=0;w<b.length;w++)e.push(b[w].img.buffer);const t=function concatRGBA(e){let t=0;for(var r=0;r<e.length;r++)t+=e[r].byteLength;const i=new Uint8Array(t);let o=0;for(r=0;r<e.length;r++){const t=new Uint8Array(e[r]),a=t.length;for(let e=0;e<a;e+=4){let r=t[e],a=t[e+1],s=t[e+2];const f=t[e+3];0==f&&(r=a=s=0),i[o+e]=r,i[o+e+1]=a,i[o+e+2]=s,i[o+e+3]=f}o+=a}return i.buffer}(e),r=quantize(t,o);for(w=0;w<r.plte.length;w++)E.push(r.plte[w].est.rgba);let i=0;for(w=0;w<b.length;w++){const e=(B=b[w]).img.length;var _=new Uint8Array(r.inds.buffer,i>>2,e>>2);F.push(_);const t=new Uint8Array(r.abuf,i,e);h&&dither(B.img,B.rect.width,B.rect.height,E,t,_),B.img.set(t),i+=e}}else for(p=0;p<b.length;p++){var B=b[p];const e=new Uint32Array(B.img.buffer);var U=B.rect.width;m=e.length,_=new Uint8Array(m);F.push(_);for(w=0;w<m;w++){const t=e[w];if(0!=w&&t==e[w-1])_[w]=_[w-1];else if(w>U&&t==e[w-U])_[w]=_[w-U];else{let e=y[t];if(null==e&&(y[t]=e=E.length,E.push(t),E.length>=300))break;_[w]=e}}}const C=E.length;C<=256&&0==u&&(A=C<=2?1:C<=4?2:C<=16?4:8,A=Math.max(A,c));for(p=0;p<b.length;p++){(B=b[p]).rect.x,B.rect.y;U=B.rect.width;const e=B.rect.height;let t=B.img;new Uint32Array(t.buffer);let r=4*U,i=4;if(C<=256&&0==u){r=Math.ceil(A*U/8);var I=new Uint8Array(r*e);const o=F[p];for(let t=0;t<e;t++){w=t*r;const e=t*U;if(8==A)for(var Q=0;Q<U;Q++)I[w+Q]=o[e+Q];else if(4==A)for(Q=0;Q<U;Q++)I[w+(Q>>1)]|=o[e+Q]<<4-4*(1&Q);else if(2==A)for(Q=0;Q<U;Q++)I[w+(Q>>2)]|=o[e+Q]<<6-2*(3&Q);else if(1==A)for(Q=0;Q<U;Q++)I[w+(Q>>3)]|=o[e+Q]<<7-1*(7&Q)}t=I,d=3,i=1}else if(0==v&&1==b.length){I=new Uint8Array(U*e*3);const o=U*e;for(w=0;w<o;w++){const e=3*w,r=4*w;I[e]=t[r],I[e+1]=t[r+1],I[e+2]=t[r+2]}t=I,d=2,i=3,r=3*U}B.img=t,B.bpl=r,B.bpp=i}return{ctype:d,depth:A,plte:E,frames:b}}function _updateFrame(t,r,i,o,a,s,f){const l=Uint8Array,c=Uint32Array,u=new l(t[a-1]),h=new c(t[a-1]),d=a+1<t.length?new l(t[a+1]):null,A=new l(t[a]),g=new c(A.buffer);let p=r,m=i,w=-1,v=-1;for(let e=0;e<s.height;e++)for(let t=0;t<s.width;t++){const i=s.x+t,f=s.y+e,l=f*r+i,c=g[l];0==c||0==o[a-1].dispose&&h[l]==c&&(null==d||0!=d[4*l+3])||(i<p&&(p=i),i>w&&(w=i),f<m&&(m=f),f>v&&(v=f))}-1==w&&(p=m=w=v=0),f&&(1==(1&p)&&p--,1==(1&m)&&m--),s={x:p,y:m,width:w-p+1,height:v-m+1};const b=o[a];b.rect=s,b.blend=1,b.img=new Uint8Array(s.width*s.height*4),0==o[a-1].dispose?(e(u,r,i,b.img,s.width,s.height,-s.x,-s.y,0),_prepareDiff(A,r,i,b.img,s)):e(A,r,i,b.img,s.width,s.height,-s.x,-s.y,0)}function _prepareDiff(t,r,i,o,a){e(t,r,i,o,a.width,a.height,-a.x,-a.y,2)}function _filterZero(e,t,r,i,o,a,s){const f=[];let l,c=[0,1,2,3,4];-1!=a?c=[a]:(t*i>5e5||1==r)&&(c=[0]),s&&(l={level:0});const u=UZIP;for(var h=0;h<c.length;h++){for(let a=0;a<t;a++)_filterLine(o,e,a,i,r,c[h]);f.push(u.deflate(o,l))}let d,A=1e9;for(h=0;h<f.length;h++)f[h].length<A&&(d=h,A=f[h].length);return f[d]}function _filterLine(e,t,i,o,a,s){const f=i*o;let l=f+i;if(e[l]=s,l++,0==s)if(o<500)for(var c=0;c<o;c++)e[l+c]=t[f+c];else e.set(new Uint8Array(t.buffer,f,o),l);else if(1==s){for(c=0;c<a;c++)e[l+c]=t[f+c];for(c=a;c<o;c++)e[l+c]=t[f+c]-t[f+c-a]+256&255}else if(0==i){for(c=0;c<a;c++)e[l+c]=t[f+c];if(2==s)for(c=a;c<o;c++)e[l+c]=t[f+c];if(3==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-(t[f+c-a]>>1)+256&255;if(4==s)for(c=a;c<o;c++)e[l+c]=t[f+c]-r(t[f+c-a],0,0)+256&255}else{if(2==s)for(c=0;c<o;c++)e[l+c]=t[f+c]+256-t[f+c-o]&255;if(3==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-(t[f+c-o]>>1)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-(t[f+c-o]+t[f+c-a]>>1)&255}if(4==s){for(c=0;c<a;c++)e[l+c]=t[f+c]+256-r(0,t[f+c-o],0)&255;for(c=a;c<o;c++)e[l+c]=t[f+c]+256-r(t[f+c-a],t[f+c-o],t[f+c-a-o])&255}}}function quantize(e,t){const r=new Uint8Array(e),i=r.slice(0),o=new Uint32Array(i.buffer),a=getKDtree(i,t),s=a[0],f=a[1],l=r.length,c=new Uint8Array(l>>2);let u;if(r.length<2e7)for(var h=0;h<l;h+=4){u=getNearest(s,d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255)),c[h>>2]=u.ind,o[h>>2]=u.est.rgba}else for(h=0;h<l;h+=4){var d=r[h]*(1/255),A=r[h+1]*(1/255),g=r[h+2]*(1/255),p=r[h+3]*(1/255);for(u=s;u.left;)u=planeDst(u.est,d,A,g,p)<=0?u.left:u.right;c[h>>2]=u.ind,o[h>>2]=u.est.rgba}return{abuf:i.buffer,inds:c,plte:f}}function getKDtree(e,t,r){null==r&&(r=1e-4);const i=new Uint32Array(e.buffer),o={i0:0,i1:e.length,bst:null,est:null,tdst:0,left:null,right:null};o.bst=stats(e,o.i0,o.i1),o.est=estats(o.bst);const a=[o];for(;a.length<t;){let t=0,o=0;for(var s=0;s<a.length;s++)a[s].est.L>t&&(t=a[s].est.L,o=s);if(t<r)break;const f=a[o],l=splitPixels(e,i,f.i0,f.i1,f.est.e,f.est.eMq255);if(f.i0>=l||f.i1<=l){f.est.L=0;continue}const c={i0:f.i0,i1:l,bst:null,est:null,tdst:0,left:null,right:null};c.bst=stats(e,c.i0,c.i1),c.est=estats(c.bst);const u={i0:l,i1:f.i1,bst:null,est:null,tdst:0,left:null,right:null};u.bst={R:[],m:[],N:f.bst.N-c.bst.N};for(s=0;s<16;s++)u.bst.R[s]=f.bst.R[s]-c.bst.R[s];for(s=0;s<4;s++)u.bst.m[s]=f.bst.m[s]-c.bst.m[s];u.est=estats(u.bst),f.left=c,f.right=u,a[o]=c,a.push(u)}a.sort(((e,t)=>t.bst.N-e.bst.N));for(s=0;s<a.length;s++)a[s].ind=s;return[o,a]}function getNearest(e,t,r,i,o){if(null==e.left)return e.tdst=function dist(e,t,r,i,o){const a=t-e[0],s=r-e[1],f=i-e[2],l=o-e[3];return a*a+s*s+f*f+l*l}(e.est.q,t,r,i,o),e;const a=planeDst(e.est,t,r,i,o);let s=e.left,f=e.right;a>0&&(s=e.right,f=e.left);const l=getNearest(s,t,r,i,o);if(l.tdst<=a*a)return l;const c=getNearest(f,t,r,i,o);return c.tdst<l.tdst?c:l}function planeDst(e,t,r,i,o){const{e:a}=e;return a[0]*t+a[1]*r+a[2]*i+a[3]*o-e.eMq}function splitPixels(e,t,r,i,o,a){for(i-=4;r<i;){for(;vecDot(e,r,o)<=a;)r+=4;for(;vecDot(e,i,o)>a;)i-=4;if(r>=i)break;const s=t[r>>2];t[r>>2]=t[i>>2],t[i>>2]=s,r+=4,i-=4}for(;vecDot(e,r,o)>a;)r-=4;return r+4}function vecDot(e,t,r){return e[t]*r[0]+e[t+1]*r[1]+e[t+2]*r[2]+e[t+3]*r[3]}function stats(e,t,r){const i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],o=[0,0,0,0],a=r-t>>2;for(let a=t;a<r;a+=4){const t=e[a]*(1/255),r=e[a+1]*(1/255),s=e[a+2]*(1/255),f=e[a+3]*(1/255);o[0]+=t,o[1]+=r,o[2]+=s,o[3]+=f,i[0]+=t*t,i[1]+=t*r,i[2]+=t*s,i[3]+=t*f,i[5]+=r*r,i[6]+=r*s,i[7]+=r*f,i[10]+=s*s,i[11]+=s*f,i[15]+=f*f}return i[4]=i[1],i[8]=i[2],i[9]=i[6],i[12]=i[3],i[13]=i[7],i[14]=i[11],{R:i,m:o,N:a}}function estats(e){const{R:t}=e,{m:r}=e,{N:i}=e,a=r[0],s=r[1],f=r[2],l=r[3],c=0==i?0:1/i,u=[t[0]-a*a*c,t[1]-a*s*c,t[2]-a*f*c,t[3]-a*l*c,t[4]-s*a*c,t[5]-s*s*c,t[6]-s*f*c,t[7]-s*l*c,t[8]-f*a*c,t[9]-f*s*c,t[10]-f*f*c,t[11]-f*l*c,t[12]-l*a*c,t[13]-l*s*c,t[14]-l*f*c,t[15]-l*l*c],h=u,d=o;let A=[Math.random(),Math.random(),Math.random(),Math.random()],g=0,p=0;if(0!=i)for(let e=0;e<16&&(A=d.multVec(h,A),p=Math.sqrt(d.dot(A,A)),A=d.sml(1/p,A),!(0!=e&&Math.abs(p-g)<1e-9));e++)g=p;const m=[a*c,s*c,f*c,l*c];return{Cov:u,q:m,e:A,L:g,eMq255:d.dot(d.sml(255,m),A),eMq:d.dot(A,m),rgba:(Math.round(255*m[3])<<24|Math.round(255*m[2])<<16|Math.round(255*m[1])<<8|Math.round(255*m[0])<<0)>>>0}}var o={multVec:(e,t)=>[e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],e[4]*t[0]+e[5]*t[1]+e[6]*t[2]+e[7]*t[3],e[8]*t[0]+e[9]*t[1]+e[10]*t[2]+e[11]*t[3],e[12]*t[0]+e[13]*t[1]+e[14]*t[2]+e[15]*t[3]],dot:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],sml:(e,t)=>[e*t[0],e*t[1],e*t[2],e*t[3]]};UPNG.encode=function encode(e,t,r,i,o,a,s){null==i&&(i=0),null==s&&(s=!1);const f=compress(e,t,r,i,[!1,!1,!1,0,s,!1]);return compressPNG(f,-1),_main(f,t,r,o,a)},UPNG.encodeLL=function encodeLL(e,t,r,i,o,a,s,f){const l={ctype:0+(1==i?0:2)+(0==o?0:4),depth:a,frames:[]},c=(i+o)*a,u=c*t;for(let i=0;i<e.length;i++)l.frames.push({rect:{x:0,y:0,width:t,height:r},img:new Uint8Array(e[i]),blend:0,dispose:1,bpp:Math.ceil(c/8),bpl:Math.ceil(u/8)});return compressPNG(l,0,!0),_main(l,t,r,s,f)},UPNG.encode.compress=compress,UPNG.encode.dither=dither,UPNG.quantize=quantize,UPNG.quantize.getKDtree=getKDtree,UPNG.quantize.getNearest=getNearest}();const r={toArrayBuffer(e,t){const i=e.width,o=e.height,a=i<<2,s=e.getContext(\"2d\").getImageData(0,0,i,o),f=new Uint32Array(s.data.buffer),l=(32*i+31)/32<<2,c=l*o,u=122+c,h=new ArrayBuffer(u),d=new DataView(h),A=1<<20;let g,p,m,w,v=A,b=0,y=0,E=0;function set16(e){d.setUint16(y,e,!0),y+=2}function set32(e){d.setUint32(y,e,!0),y+=4}function seek(e){y+=e}set16(19778),set32(u),seek(4),set32(122),set32(108),set32(i),set32(-o>>>0),set16(1),set16(32),set32(3),set32(c),set32(2835),set32(2835),seek(8),set32(16711680),set32(65280),set32(255),set32(4278190080),set32(1466527264),function convert(){for(;b<o&&v>0;){for(w=122+b*l,g=0;g<a;)v--,p=f[E++],m=p>>>24,d.setUint32(w+g,p<<8|m),g+=4;b++}E<f.length?(v=A,setTimeout(convert,r._dly)):t(h)}()},toBlob(e,t){this.toArrayBuffer(e,(e=>{t(new Blob([e],{type:\"image/bmp\"}))}))},_dly:9};var i={CHROME:\"CHROME\",FIREFOX:\"FIREFOX\",DESKTOP_SAFARI:\"DESKTOP_SAFARI\",IE:\"IE\",IOS:\"IOS\",ETC:\"ETC\"},o={[i.CHROME]:16384,[i.FIREFOX]:11180,[i.DESKTOP_SAFARI]:16384,[i.IE]:8192,[i.IOS]:4096,[i.ETC]:8192};const a=\"undefined\"!=typeof window,s=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,f=a&&window.cordova&&window.cordova.require&&window.cordova.require(\"cordova/modulemapper\"),CustomFile=(a||s)&&(f&&f.getOriginalSymbol(window,\"File\")||\"undefined\"!=typeof File&&File),CustomFileReader=(a||s)&&(f&&f.getOriginalSymbol(window,\"FileReader\")||\"undefined\"!=typeof FileReader&&FileReader);function getFilefromDataUrl(e,t,r=Date.now()){return new Promise((i=>{const o=e.split(\",\"),a=o[0].match(/:(.*?);/)[1],s=globalThis.atob(o[1]);let f=s.length;const l=new Uint8Array(f);for(;f--;)l[f]=s.charCodeAt(f);const c=new Blob([l],{type:a});c.name=t,c.lastModified=r,i(c)}))}function getDataUrlFromFile(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=()=>t(i.result),i.onerror=e=>r(e),i.readAsDataURL(e)}))}function loadImage(e){return new Promise(((t,r)=>{const i=new Image;i.onload=()=>t(i),i.onerror=e=>r(e),i.src=e}))}function getBrowserName(){if(void 0!==getBrowserName.cachedResult)return getBrowserName.cachedResult;let e=i.ETC;const{userAgent:t}=navigator;return/Chrom(e|ium)/i.test(t)?e=i.CHROME:/iP(ad|od|hone)/i.test(t)&&/WebKit/i.test(t)?e=i.IOS:/Safari/i.test(t)?e=i.DESKTOP_SAFARI:/Firefox/i.test(t)?e=i.FIREFOX:(/MSIE/i.test(t)||!0==!!document.documentMode)&&(e=i.IE),getBrowserName.cachedResult=e,getBrowserName.cachedResult}function approximateBelowMaximumCanvasSizeOfBrowser(e,t){const r=getBrowserName(),i=o[r];let a=e,s=t,f=a*s;const l=a>s?s/a:a/s;for(;f>i*i;){const e=(i+a)/2,t=(i+s)/2;e<t?(s=t,a=t*l):(s=e*l,a=e),f=a*s}return{width:a,height:s}}function getNewCanvasAndCtx(e,t){let r,i;try{if(r=new OffscreenCanvas(e,t),i=r.getContext(\"2d\"),null===i)throw new Error(\"getContext of OffscreenCanvas returns null\")}catch(e){r=document.createElement(\"canvas\"),i=r.getContext(\"2d\")}return r.width=e,r.height=t,[r,i]}function drawImageInCanvas(e,t){const{width:r,height:i}=approximateBelowMaximumCanvasSizeOfBrowser(e.width,e.height),[o,a]=getNewCanvasAndCtx(r,i);return t&&/jpe?g/.test(t)&&(a.fillStyle=\"white\",a.fillRect(0,0,o.width,o.height)),a.drawImage(e,0,0,o.width,o.height),o}function isIOS(){return void 0!==isIOS.cachedResult||(isIOS.cachedResult=[\"iPad Simulator\",\"iPhone Simulator\",\"iPod Simulator\",\"iPad\",\"iPhone\",\"iPod\"].includes(navigator.platform)||navigator.userAgent.includes(\"Mac\")&&\"undefined\"!=typeof document&&\"ontouchend\"in document),isIOS.cachedResult}function drawFileInCanvas(e,t={}){return new Promise((function(r,o){let a,s;var $Try_2_Post=function(){try{return s=drawImageInCanvas(a,t.fileType||e.type),r([a,s])}catch(e){return o(e)}},$Try_2_Catch=function(t){try{0;var $Try_3_Catch=function(e){try{throw e}catch(e){return o(e)}};try{let t;return getDataUrlFromFile(e).then((function(e){try{return t=e,loadImage(t).then((function(e){try{return a=e,function(){try{return $Try_2_Post()}catch(e){return o(e)}}()}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){return $Try_3_Catch(e)}}),$Try_3_Catch)}catch(e){$Try_3_Catch(e)}}catch(e){return o(e)}};try{if(isIOS()||[i.DESKTOP_SAFARI,i.MOBILE_SAFARI].includes(getBrowserName()))throw new Error(\"Skip createImageBitmap on IOS and Safari\");return createImageBitmap(e).then((function(e){try{return a=e,$Try_2_Post()}catch(e){return $Try_2_Catch()}}),$Try_2_Catch)}catch(e){$Try_2_Catch()}}))}function canvasToFile(e,t,i,o,a=1){return new Promise((function(s,f){let l;if(\"image/png\"===t){let c,u,h;return c=e.getContext(\"2d\"),({data:u}=c.getImageData(0,0,e.width,e.height)),h=UPNG.encode([u.buffer],e.width,e.height,4096*a),l=new Blob([h],{type:t}),l.name=i,l.lastModified=o,$If_4.call(this)}{if(\"image/bmp\"===t)return new Promise((t=>r.toBlob(e,t))).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_5.call(this)}catch(e){return f(e)}}.bind(this),f);{if(\"function\"==typeof OffscreenCanvas&&e instanceof OffscreenCanvas)return e.convertToBlob({type:t,quality:a}).then(function(e){try{return l=e,l.name=i,l.lastModified=o,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f);{let d;return d=e.toDataURL(t,a),getFilefromDataUrl(d,i,o).then(function(e){try{return l=e,$If_6.call(this)}catch(e){return f(e)}}.bind(this),f)}function $If_6(){return $If_5.call(this)}}function $If_5(){return $If_4.call(this)}}function $If_4(){return s(l)}}))}function cleanupCanvasMemory(e){e.width=0,e.height=0}function isAutoOrientationInBrowser(){return new Promise((function(e,t){let r,i,o,a,s;return void 0!==isAutoOrientationInBrowser.cachedResult?e(isAutoOrientationInBrowser.cachedResult):(r=\"data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==\",getFilefromDataUrl(\"data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q==\",\"test.jpg\",Date.now()).then((function(r){try{return i=r,drawFileInCanvas(i).then((function(r){try{return o=r[1],canvasToFile(o,i.type,i.name,i.lastModified).then((function(r){try{return a=r,cleanupCanvasMemory(o),drawFileInCanvas(a).then((function(r){try{return s=r[0],isAutoOrientationInBrowser.cachedResult=1===s.width&&2===s.height,e(isAutoOrientationInBrowser.cachedResult)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t)}catch(e){return t(e)}}),t))}))}function getExifOrientation(e){return new Promise(((t,r)=>{const i=new CustomFileReader;i.onload=e=>{const r=new DataView(e.target.result);if(65496!=r.getUint16(0,!1))return t(-2);const i=r.byteLength;let o=2;for(;o<i;){if(r.getUint16(o+2,!1)<=8)return t(-1);const e=r.getUint16(o,!1);if(o+=2,65505==e){if(1165519206!=r.getUint32(o+=2,!1))return t(-1);const e=18761==r.getUint16(o+=6,!1);o+=r.getUint32(o+4,e);const i=r.getUint16(o,e);o+=2;for(let a=0;a<i;a++)if(274==r.getUint16(o+12*a,e))return t(r.getUint16(o+12*a+8,e))}else{if(65280!=(65280&e))break;o+=r.getUint16(o,!1)}}return t(-1)},i.onerror=e=>r(e),i.readAsArrayBuffer(e)}))}function handleMaxWidthOrHeight(e,t){const{width:r}=e,{height:i}=e,{maxWidthOrHeight:o}=t;let a,s=e;return isFinite(o)&&(r>o||i>o)&&([s,a]=getNewCanvasAndCtx(r,i),r>i?(s.width=o,s.height=i/r*o):(s.width=r/i*o,s.height=o),a.drawImage(e,0,0,s.width,s.height),cleanupCanvasMemory(e)),s}function followExifOrientation(e,t){const{width:r}=e,{height:i}=e,[o,a]=getNewCanvasAndCtx(r,i);switch(t>4&&t<9?(o.width=i,o.height=r):(o.width=r,o.height=i),t){case 2:a.transform(-1,0,0,1,r,0);break;case 3:a.transform(-1,0,0,-1,r,i);break;case 4:a.transform(1,0,0,-1,0,i);break;case 5:a.transform(0,1,1,0,0,0);break;case 6:a.transform(0,1,-1,0,i,0);break;case 7:a.transform(0,-1,-1,0,i,r);break;case 8:a.transform(0,-1,1,0,0,r)}return a.drawImage(e,0,0,r,i),cleanupCanvasMemory(e),o}function compress(e,t,r=0){return new Promise((function(i,o){let a,s,f,l,c,u,h,d,A,g,p,m,w,v,b,y,E,F,_,B;function incProgress(e=5){if(t.signal&&t.signal.aborted)throw t.signal.reason;a+=e,t.onProgress(Math.min(a,100))}function setProgress(e){if(t.signal&&t.signal.aborted)throw t.signal.reason;a=Math.min(Math.max(e,a),100),t.onProgress(a)}return a=r,s=t.maxIteration||10,f=1024*t.maxSizeMB*1024,incProgress(),drawFileInCanvas(e,t).then(function(r){try{return[,l]=r,incProgress(),c=handleMaxWidthOrHeight(l,t),incProgress(),new Promise((function(r,i){var o;if(!(o=t.exifOrientation))return getExifOrientation(e).then(function(e){try{return o=e,$If_2.call(this)}catch(e){return i(e)}}.bind(this),i);function $If_2(){return r(o)}return $If_2.call(this)})).then(function(r){try{return u=r,incProgress(),isAutoOrientationInBrowser().then(function(r){try{return h=r?c:followExifOrientation(c,u),incProgress(),d=t.initialQuality||1,A=t.fileType||e.type,canvasToFile(h,A,e.name,e.lastModified,d).then(function(r){try{{if(g=r,incProgress(),p=g.size>f,m=g.size>e.size,!p&&!m)return setProgress(100),i(g);var a;function $Loop_3(){if(s--&&(b>f||b>w)){let t,r;return t=B?.95*_.width:_.width,r=B?.95*_.height:_.height,[E,F]=getNewCanvasAndCtx(t,r),F.drawImage(_,0,0,t,r),d*=\"image/png\"===A?.85:.95,canvasToFile(E,A,e.name,e.lastModified,d).then((function(e){try{return y=e,cleanupCanvasMemory(_),_=E,b=y.size,setProgress(Math.min(99,Math.floor((v-b)/(v-f)*100))),$Loop_3}catch(e){return o(e)}}),o)}return[1]}return w=e.size,v=g.size,b=v,_=h,B=!t.alwaysKeepResolution&&p,(a=function(e){for(;e;){if(e.then)return void e.then(a,o);try{if(e.pop){if(e.length)return e.pop()?$Loop_3_exit.call(this):e;e=$Loop_3}else e=e.call(this)}catch(e){return o(e)}}}.bind(this))($Loop_3);function $Loop_3_exit(){return cleanupCanvasMemory(_),cleanupCanvasMemory(E),cleanupCanvasMemory(c),cleanupCanvasMemory(h),cleanupCanvasMemory(l),setProgress(100),i(y)}}}catch(u){return o(u)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}catch(e){return o(e)}}.bind(this),o)}))}const l=\"\\nlet scriptImported = false\\nself.addEventListener('message', async (e) => {\\n const { file, id, imageCompressionLibUrl, options } = e.data\\n options.onProgress = (progress) => self.postMessage({ progress, id })\\n try {\\n if (!scriptImported) {\\n // console.log('[worker] importScripts', imageCompressionLibUrl)\\n self.importScripts(imageCompressionLibUrl)\\n scriptImported = true\\n }\\n // console.log('[worker] self', self)\\n const compressedFile = await imageCompression(file, options)\\n self.postMessage({ file: compressedFile, id })\\n } catch (e) {\\n // console.error('[worker] error', e)\\n self.postMessage({ error: e.message + '\\\\n' + e.stack, id })\\n }\\n})\\n\";let c;function compressOnWebWorker(e,t){return new Promise(((r,i)=>{c||(c=function createWorkerScriptURL(e){const t=[];return\"function\"==typeof e?t.push(`(${e})()`):t.push(e),URL.createObjectURL(new Blob(t))}(l));const o=new Worker(c);o.addEventListener(\"message\",(function handler(e){if(t.signal&&t.signal.aborted)o.terminate();else if(void 0===e.data.progress){if(e.data.error)return i(new Error(e.data.error)),void o.terminate();r(e.data.file),o.terminate()}else t.onProgress(e.data.progress)})),o.addEventListener(\"error\",i),t.signal&&t.signal.addEventListener(\"abort\",(()=>{i(t.signal.reason),o.terminate()})),o.postMessage({file:e,imageCompressionLibUrl:t.libURL,options:{...t,onProgress:void 0,signal:void 0}})}))}function imageCompression(e,t){return new Promise((function(r,i){let o,a,s,f,l,c;if(o={...t},s=0,({onProgress:f}=o),o.maxSizeMB=o.maxSizeMB||Number.POSITIVE_INFINITY,l=\"boolean\"!=typeof o.useWebWorker||o.useWebWorker,delete o.useWebWorker,o.onProgress=e=>{s=e,\"function\"==typeof f&&f(s)},!(e instanceof Blob||e instanceof CustomFile))return i(new Error(\"The file given is not an instance of Blob or File\"));if(!/^image/.test(e.type))return i(new Error(\"The file given is not an image\"));if(c=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,!l||\"function\"!=typeof Worker||c)return compress(e,o).then(function(e){try{return a=e,$If_4.call(this)}catch(e){return i(e)}}.bind(this),i);var u=function(){try{return $If_4.call(this)}catch(e){return i(e)}}.bind(this),$Try_1_Catch=function(t){try{return compress(e,o).then((function(e){try{return a=e,u()}catch(e){return i(e)}}),i)}catch(e){return i(e)}};try{return o.libURL=o.libURL||\"https://cdn.jsdelivr.net/npm/browser-image-compression@2.0.2/dist/browser-image-compression.js\",compressOnWebWorker(e,o).then((function(e){try{return a=e,u()}catch(e){return $Try_1_Catch()}}),$Try_1_Catch)}catch(e){$Try_1_Catch()}function $If_4(){try{a.name=e.name,a.lastModified=e.lastModified}catch(e){}try{o.preserveExif&&\"image/jpeg\"===e.type&&(!o.fileType||o.fileType&&o.fileType===e.type)&&(a=copyExifWithoutOrientation(e,a))}catch(e){}return r(a)}}))}imageCompression.getDataUrlFromFile=getDataUrlFromFile,imageCompression.getFilefromDataUrl=getFilefromDataUrl,imageCompression.loadImage=loadImage,imageCompression.drawImageInCanvas=drawImageInCanvas,imageCompression.drawFileInCanvas=drawFileInCanvas,imageCompression.canvasToFile=canvasToFile,imageCompression.getExifOrientation=getExifOrientation,imageCompression.handleMaxWidthOrHeight=handleMaxWidthOrHeight,imageCompression.followExifOrientation=followExifOrientation,imageCompression.cleanupCanvasMemory=cleanupCanvasMemory,imageCompression.isAutoOrientationInBrowser=isAutoOrientationInBrowser,imageCompression.approximateBelowMaximumCanvasSizeOfBrowser=approximateBelowMaximumCanvasSizeOfBrowser,imageCompression.copyExifWithoutOrientation=copyExifWithoutOrientation,imageCompression.getBrowserName=getBrowserName,imageCompression.version=\"2.0.2\";export{imageCompression as default};\n//# sourceMappingURL=browser-image-compression.mjs.map\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { ProvisionalContentMedium } from \"../types\";\nimport Modal from \"./Modal\";\nimport { DndProvider, useDrag, useDrop } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { TouchBackend } from \"react-dnd-touch-backend\";\nimport { useIsMobile } from \"../hook/useIsMobile\";\nimport { ContentMediumIcon, FileIcon } from \"./icons\";\nimport CustomCloseButton from \"./CustomCloseButton\";\nimport useMultiCloudinaryUpload from \"./useMultiCloudinaryUpload\";\nimport { Cloudinary } from \"@cloudinary/url-gen\";\nimport { thumbnail } from \"@cloudinary/url-gen/actions/resize\";\nimport { AdvancedImage } from \"@cloudinary/react\";\nimport { CloudinaryFile } from \"../types/cloudinary_custom_types\";\nimport { XMarkIcon } from \"@heroicons/react/20/solid\";\nimport { CheckIcon } from \"@heroicons/react/16/solid\";\nimport { Transition } from \"@headlessui/react\";\nimport ImagePlaceholder from \"./ImagePlaceholder\";\nimport imageCompression from \"browser-image-compression\";\n\nconst cld = new Cloudinary({\n cloud: {\n cloudName: \"dcmekntwa\",\n },\n});\ntype MediaProps = {\n cm: ProvisionalContentMedium;\n index: number;\n deleteContentMedia: (\n contentMediaId: ProvisionalContentMedium[\"provisional_id\"]\n ) => void;\n changePosition: (cm: ProvisionalContentMedium, index: number) => void;\n};\nconst DraggableMedia = ({\n cm,\n index,\n deleteContentMedia,\n changePosition,\n}: MediaProps) => {\n const { resource_type, public_id, format } = cm.serialized_file;\n const ref = useRef<HTMLDivElement>(null);\n const [_, dragRef] = useDrag(\n () => ({\n type: \"drag_item\",\n collect: (monitor) => ({\n isDragging: !!monitor.isDragging(),\n }),\n item: (monitor: any) => {\n return { sourceContentMedia: cm };\n },\n }),\n []\n );\n type DragItem = { sourceContentMedia: ProvisionalContentMedium };\n const [{ isDragging }, drop] = useDrop<\n DragItem,\n void,\n { isDragging: boolean }\n >({\n accept: \"drag_item\",\n hover(item, monitor) {\n if (!ref.current) {\n return;\n }\n changePosition(item.sourceContentMedia, index + 1);\n },\n drop(item: DragItem, monitor: any) {\n changePosition(item.sourceContentMedia, index + 1);\n },\n });\n dragRef(drop(ref));\n\n return (\n <div\n ref={ref}\n key={`media_${cm?.provisional_id}_${index}`}\n className={`relative flex justify-center items-center rounded-md border size-32 group`}\n data-provisional-id={cm?.provisional_id}\n >\n <button\n type=\"button\"\n className={`absolute -top-1 -right-1 bg-gray-100 rounded-sm cursor-pointer hidden group-hover:flex duration-500`}\n onClick={() => deleteContentMedia(cm?.provisional_id)}\n >\n <XMarkIcon className=\"size-5\" />\n </button>\n <AdvancedImage\n className={`object-center object-cover h-full w-full bg-white`}\n cldImg={cld\n .image(public_id)\n .setAssetType(resource_type)\n .format(resource_type === \"video\" ? \"jpg\" : format)\n .resize(thumbnail().width(320))}\n />\n </div>\n );\n};\n\ntype Props = {\n open: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n disabled?: boolean;\n accept?: string;\n hContentMedia: Record<number, ProvisionalContentMedium>;\n setHContentMedia: React.Dispatch<\n React.SetStateAction<Record<number, ProvisionalContentMedium>>\n >;\n selectedContentMedias: ProvisionalContentMedium[\"provisional_id\"][] | [];\n beforeRemoveFn: (\n contentMediaId: ProvisionalContentMedium[\"provisional_id\"]\n ) => void;\n afterAddFn: (\n contentMediaIds: ProvisionalContentMedium[\"provisional_id\"][]\n ) => void;\n afterMoveFn: (contentMediaId: number, newPosition: number) => void;\n};\n\nconst ContentMediasUploader = ({\n open,\n setOpen,\n disabled,\n accept,\n hContentMedia,\n setHContentMedia,\n selectedContentMedias,\n beforeRemoveFn,\n afterAddFn,\n afterMoveFn,\n}: Props) => {\n\n const [error, setError] = useState<string>(\"\");\n\n const addMedia = (files: CloudinaryFile[]) => {\n // Pourquoi seul un media est retenu ???\n const lastCMId =\n Math.max(...Object.keys(hContentMedia).map((k) => parseInt(k)), 0) + 1;\n const newCMs = files?.map((file, index) => {\n const newId = lastCMId + index;\n return [newId, { provisional_id: newId, serialized_file: file }];\n }) as [number, ProvisionalContentMedium][];\n setHContentMedia((prev) => ({ ...prev, ...Object.fromEntries(newCMs) }));\n afterAddFn(newCMs.map((c) => c[0]));\n // On initialise les fichiers pour ne plus afficher de Image Placeholder\n setFiles([]);\n // On reset l'animation progress pour éviter un effet visuel désagréable\n // des Image placeholder\n setAnimationProgress(null);\n };\n const deleteContentMedia = (contentMediaId: number) => {\n beforeRemoveFn(contentMediaId);\n };\n\n const changePosition = (\n contentMedia: ProvisionalContentMedium,\n newPosition: number\n ) => {\n afterMoveFn(contentMedia.provisional_id, newPosition);\n };\n\n const sortedCM: ProvisionalContentMedium[] = useMemo(\n () => selectedContentMedias?.map((cmId) => hContentMedia[cmId]),\n [selectedContentMedias, hContentMedia]\n );\n\n const sortedCmIds = useMemo(\n () => sortedCM?.map((cm) => cm.provisional_id),\n [sortedCM]\n );\n\n const addCmToBody = (cmId: ProvisionalContentMedium[\"provisional_id\"]) => {\n const isAlreadyAdded = sortedCmIds.includes(cmId);\n if (!isAlreadyAdded) {\n afterAddFn([cmId]);\n } else {\n beforeRemoveFn(cmId);\n }\n };\n\n const isMobile = useIsMobile();\n\n // Real progress est l'état réel de l'upload\n const { totalProgress: realProgress, uploadFiles } = useMultiCloudinaryUpload(\n { addMedia }\n );\n\n const [isDragging, setIsDragging] = useState(false);\n\n // L'état de l'animation du placholder (état d'affichage) => source de vérité pour l'animation\n const [animationProgress, setAnimationProgress] = useState<number | null>(\n null\n );\n // L'état de l'upload faké (pour une animation plus fluide)\n const [fakeProgress, setFakeProgress] = useState<number | null>(null);\n // Ref pour mieux contrôler l'animation\n const requestRef = useRef<number | null>(null);\n\n useEffect(() => {\n // On initialise l'animation seulement si\n // fakeProgress est nul et\n // que realProgress n'est pas :\n // - NaN (cas où l'upload est finie à 100%)\n // - null (cas où l'upload n'a pas encore commencé)\n // - inferieur à 100 (cas ou l'upload est en cours et pas terminée)\n if (\n fakeProgress === null &&\n !isNaN(realProgress) &&\n realProgress !== null &&\n realProgress < 100\n ) {\n // Pour lancer l'animation, on installe fakeProgress à 0\n setFakeProgress(0);\n }\n\n const animate = () => {\n if (realProgress !== null && fakeProgress !== null && fakeProgress >= 0) {\n // On set l'état de l'animation en fonction de l'état réel\n if (realProgress > 0 && realProgress < 100) {\n // On prend toujours la valeur la plus faible\n // Pour éviter un effet de \"retour en arrière\"\n setAnimationProgress(Math.min(fakeProgress, realProgress));\n } else {\n // sinon on set la valeur de fakeProgress\n // Pour afficher une animation plus fluide\n setAnimationProgress(fakeProgress);\n }\n // On force le progression de l'animation\n setFakeProgress((prev) => (prev ?? 0) + 1);\n\n // Si l'animation progress (source de vérité de l'animation) est complète, on stop l'animation\n if (animationProgress !== null && animationProgress >= 100) {\n setFakeProgress(null);\n cancelAnimationFrame(requestRef.current as number);\n } else {\n requestRef.current = requestAnimationFrame(animate);\n }\n }\n };\n\n // On continue l'animation si realProgress (véritable upload) a commencé\n // OU quand on a lancé l'animation branchée sur fakeProgress\n if ((fakeProgress !== null && fakeProgress < 100) || realProgress < 100) {\n requestRef.current = requestAnimationFrame(animate);\n } else {\n // Sinon on stop l'animation\n setFakeProgress(null);\n cancelAnimationFrame(requestRef.current as number);\n }\n\n // Nettoyage de l'animation\n return () => cancelAnimationFrame(requestRef.current as number);\n }, [realProgress, fakeProgress]);\n\n const [files, setFiles] = useState<any[]>([]);\n\n const compressImage = async (file: File) => {\n const options = {\n maxSizeMB: 4, // 4mo max semble être la bonne limite pour tout les RS\n maxWidthOrHeight: 1920,\n useWebWorker: true,\n };\n \n try {\n const compressedFile = await imageCompression(file, options);\n return compressedFile;\n } catch (error) {\n console.error(\"Erreur de compression :\", error);\n return file;\n }\n };\n \n\n return (\n <div\n className=\"flex w-full justify-start\"\n // On désactive le comportement natif du navigateur sur les events de drag and drop\n onDragOver={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setIsDragging(true);\n }}\n onDragLeave={(e) => {\n e.preventDefault();\n setIsDragging(false);\n }}\n onDrop={(e) => {\n e.preventDefault();\n setIsDragging(false);\n setFiles(Array.from(e.dataTransfer.files));\n uploadFiles(Array.from(e.dataTransfer.files));\n }}\n >\n {/* On affiche les content Medias affiliés au body */}\n <DndProvider backend={isMobile ? TouchBackend : HTML5Backend}>\n <div className=\"w-full flex flex-wrap gap-2\">\n {sortedCM?.map((cm, index) => (\n <DraggableMedia\n key={`cm_${cm?.provisional_id}_${index}`}\n cm={cm}\n index={index}\n deleteContentMedia={deleteContentMedia}\n changePosition={changePosition}\n />\n ))}\n </div>\n </DndProvider>\n <Modal open={open} setOpen={setOpen}>\n <div className=\"p-4 bg-white relative rounded-md w-80 sm:w-96 flex flex-col gap-3\">\n <CustomCloseButton open={open} setOpen={setOpen} />\n {/* Suggestions des content medias existants */}\n <div className=\"text-center font-medium\">\n {selectedContentMedias.length === 0\n ? \"Ajoutez des médias\"\n : `${selectedContentMedias.length} ${\n selectedContentMedias.length === 1\n ? \"média sélectionné\"\n : \"médias sélectionnés\"\n }`}\n </div>\n <div className=\"flex gap-3 overflow-x-auto pt-2\">\n {Object.values(hContentMedia)?.map((cm, index) => (\n <div\n className=\"relative\"\n key={`cm_${cm?.provisional_id}_${index}`}\n >\n <AdvancedImage\n className={`object-cover min-w-24 min-h-24 size-24 border rounded-md cursor-pointer transition-colors duration-300 ${\n sortedCmIds?.includes(cm?.provisional_id)\n ? \"border-brand_main\"\n : \"border-gray-300\"\n }`}\n cldImg={cld\n .image(cm.serialized_file.public_id)\n .setAssetType(cm.serialized_file.resource_type)\n .format(\n cm.serialized_file.resource_type === \"video\"\n ? \"jpg\"\n : cm.serialized_file.format\n )\n .resize(thumbnail().width(320))}\n onClick={() => addCmToBody(cm.provisional_id)}\n />\n <Transition\n show={sortedCmIds.includes(cm?.provisional_id)}\n enter=\"transition-opacity duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"transition-opacity duration-300\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <CheckIcon\n style={{ top: \"-8px\", right: \"-8px\" }}\n className=\"absolute size-6 text-green-500 bg-white rounded-full border border-green-500 p-1\"\n />\n </Transition>\n </div>\n ))}\n {/* Image Placeholder | On itère sur les files pour éviter les clignotements */}\n {/* N'apparait seulement lorsque l'upload commence */}\n {files?.map((_, i) => (\n <ImagePlaceholder\n key={i}\n animationProgress={animationProgress ?? 0}\n color=\"bg-brand_main\"\n />\n ))}\n </div>\n <div\n className={`flex flex-col justify-center border-2 h-full min-h-32 border-dashed ${\n isDragging ? \"border-brand_main\" : \"\"\n }`}\n >\n <label className=\"clickable-text block\">\n <FileIcon className=\"size-12 mx-auto\" />\n <p className=\"text-center\">Choisir des fichiers</p>\n {error && (\n <p className=\"text-center text-red-500 text-sm\">{error}</p>\n )}\n <input\n accept={accept}\n disabled={disabled}\n type=\"file\"\n style={{ display: \"none\" }}\n onChange={async (e) => {\n const files = Array.from(e.target.files as FileList);\n const compressedFiles: File[] = [];\n \n for (const file of files) {\n if (!file.type.startsWith(\"image/\")) {\n compressedFiles.push(file);\n continue;\n }\n if (file.size > 4 * 1024 * 1024) {\n try {\n const compressed = await compressImage(file);\n if (compressed.size <= 4 * 1024 * 1024) {\n compressedFiles.push(compressed);\n } else {\n setError(`Le fichier ${file.name} est trop volumineux même après compression.`);\n }\n } catch (error) {\n console.error(\"Erreur de compression :\", error);\n setError(`Erreur lors de la compression de ${file.name}`);\n }\n } else {\n compressedFiles.push(file);\n }\n }\n \n if (compressedFiles.length === 0) return;\n \n setFiles(compressedFiles.map((file) => file.name));\n uploadFiles(compressedFiles);\n }}\n multiple={true}\n />\n </label>\n </div>\n </div>\n </Modal>\n </div>\n );\n};\n\nexport default ContentMediasUploader;\n","import React from \"react\";\nimport { Popover, PopoverButton, PopoverPanel } from \"@headlessui/react\";\n\nconst CustomPopover = ({\n children,\n button,\n position = \"bottom\",\n panelClasses = \"\",\n disabled = true,\n}: {\n children: React.ReactNode;\n classes?: string;\n button?: React.ReactNode;\n position?: \"top\" | \"bottom\" | \"left\" | \"right\" | \"bottom-center\";\n panelClasses?: string;\n disabled?: boolean;\n}) => {\n return (\n <Popover className={`relative ${disabled ? \"cursor-default\" : \"\"}`}>\n <PopoverButton disabled={disabled}>{button}</PopoverButton>\n\n <PopoverPanel\n className={`absolute z-10\n ${position == \"top\" ? \"bottom-full mb-2\" : \"\"}\n ${position == \"left\" ? \"top-0 right-full mr-2\" : \"\"}\n ${position == \"right\" ? \"top-0 left-full ml-2\" : \"\"}\n ${position == \"bottom\" ? \"top-full mt-2\" : \"\"}\n ${\n position == \"bottom-center\"\n ? \"top-full right-1/2 transform translate-x-6\"\n : \"\"\n }\n ${panelClasses}`}\n >\n {children}\n </PopoverPanel>\n </Popover>\n );\n};\n\nexport default CustomPopover;\n","import React, { useRef } from \"react\";\nimport { ProvisionalBody } from \"../types\";\nimport { LinkIcon } from \"@heroicons/react/20/solid\";\nimport Tooltip from \"./Tooltip\";\nimport CustomPopover from \"./Popover\";\n\ntype Props = {\n body: ProvisionalBody;\n updateBody: (data: Object) => void;\n disabled?: boolean;\n}\nexport const ctaOptions = [\n { label: \"Choisissez un type d'action\", value: undefined },\n { label: \"Commander\", value: \"order_now\" },\n { label: \"Acheter\", value: \"shop_now\" },\n { label: \"En savoir plus\", value: \"learn_more\" },\n { label: \"S'inscrire\", value: \"sign_up\" },\n { label: \"Appeler\", value: \"call_now\" },\n { label: \"Nous contacter\", value: \"contact_us\" },\n];\n\nconst BodyLink = ({ body, updateBody, disabled }: Props) => {\n const ref = useRef(null);\n\n return (\n <CustomPopover button={\n <Tooltip text=\"Insérer un lien\">\n <div className={`flex justify-center items-center text-brand_main bg-gray-100 rounded-full size-9 ${disabled ? \"cursor-default\" : \" hover:bg-gray-200\"}`}\n >\n <LinkIcon className={`size-6 ${disabled ? \"text-gray-400 hover:text-gray-400\" : \"hover:text-brand_darker\"}`} />\n </div>\n </Tooltip>\n }\n disabled={disabled}\n position=\"top\"\n panelClasses=\"drop-shadow-sm\"\n >\n <div className=\"z-10 p-4 bg-white my-auto relative rounded-md w-[400px] border\" ref={ref}>\n <div className=\"flex flex-col justify-center h-full gap-4\">\n <div className=\"flex flex-col gap-2 items-start w-full\">\n <div className=\"flex w-full relative\">\n <span className=\"absolute flex h-full w-auto px-3 items-center top-0 left-0 text-gray-500 text-sm bg-gray-200 border border-e-0 border-gray-300 rounded-l-md -mr-4\">https://</span>\n <input\n type=\"text\"\n id={`bodies[${body.provisional_id}][link_url]`}\n placeholder=\"example.com\"\n value={body?.link_url?.replaceAll(/https?:\\/\\//g, \"\")}\n onChange={(event) => {\n const path = event?.target?.value.replaceAll(/https?:\\/\\//g, \"\")\n updateBody({ link_url: path ? \"https://\" + path : null }) // on re-remplace pour éviter les cas edgy\n }}\n className=\"flex flex-1 w-full border-gray-300 rounded-md shadow-sm focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n style={{ paddingLeft: \"5rem\" }}\n\n />\n </div>\n <input\n type=\"text\"\n id={`bodies[${body.provisional_id}][link_description]`}\n disabled={!body?.link_url}\n placeholder=\"Description du lien\"\n value={body?.link_description ?? \"\"}\n onChange={(event) => updateBody({ link_description: event.target.value })}\n className=\"custom-form-input w-full\"\n />\n <select\n disabled={!body?.link_url}\n className=\"custom-form-input w-full\"\n id={`bodies[${body.provisional_id}][link_cta]`}\n value={body?.link_cta || \"Aucun\"}\n onChange={(event) => updateBody({ link_cta: event.target.value })}\n >\n {ctaOptions.map((opt, index) => (\n <option key={`${opt.value}_${index}`} value={opt.value}>{opt.label}</option>\n ))}\n </select>\n </div>\n </div>\n </div>\n </CustomPopover>\n );\n}\n\nexport default BodyLink;\n","import { useEffect, useState } from \"react\";\nimport { getCSRFToken } from \"../components/utils/various\";\n\ninterface ChatGPTResponse {\n text: string;\n}\n\ninterface UseChatGPTResult {\n response: ChatGPTResponse | null;\n isWriting: boolean;\n error: string | null;\n fetchChatGPTResponse: (prompt: string) => Promise<void>;\n}\n\nconst useChatGPT = ({\n apiRoute,\n companyContent = false,\n}: {\n apiRoute: string;\n companyContent?: boolean;\n}): UseChatGPTResult => {\n const [value, setValue] = useState<string>(\"\");\n const [response, setResponse] = useState<ChatGPTResponse>({ text: \"\" });\n const [isWriting, setIsWriting] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n const simulateTyping = (fullText: string, index = 0, callback: () => void) => {\n if (index < fullText.length) {\n const nextChars = fullText.slice(index, index + 10);\n setResponse(prev => ({ text: prev?.text + nextChars }));\n setTimeout(() => {\n simulateTyping(fullText, index + 10, callback);\n }, 100);\n } else {\n callback();\n setResponse({ text: \"\" });\n }\n };\n\n const fetchChatGPTResponse = async (prompt: string): Promise<void> => {\n setIsWriting(true);\n setError(null);\n\n try {\n const res = await fetch(apiRoute, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getCSRFToken(),\n },\n body: JSON.stringify({\n prompt: prompt,\n company_content: companyContent, // le flag pour déterminer le type de contenu\n }),\n });\n\n if (!res.ok) {\n throw new Error(\"Erreur lors de la récupération des données\");\n }\n const data: ChatGPTResponse = await res.json();\n setValue(data.answer);\n } catch (err: any) {\n setError(err.message || \"Une erreur est survenue\");\n } finally {\n // Ici, on reste en écriture tant que le simulateur n’a pas terminé\n // La réinitialisation se fait dans le useEffect qui suit.\n setIsWriting(true);\n }\n };\n\n useEffect(() => {\n if (value) {\n simulateTyping(value, 0, () => setIsWriting(false));\n }\n }, [value]);\n\n useEffect(() => {\n if (!isWriting) {\n setResponse({ text: \"\" });\n setValue(\"\");\n }\n }, [isWriting]);\n\n return { response, isWriting, error, fetchChatGPTResponse };\n};\n\nexport default useChatGPT;","import React, { useEffect, useRef } from \"react\"\nimport { FormattedMessage } from \"react-intl\";\nimport { SparklesIcon } from \"@heroicons/react/24/outline\";\nimport Spinner from \"./Spinner\";\nimport { placeholder } from \"@cloudinary/react\";\n\ninterface OpenAiFormProps {\n title: string,\n value: string,\n message: string,\n placeholder: string,\n setValue: React.Dispatch<React.SetStateAction<string>>\n loading: boolean\n error: string | null\n Submit: () => void\n}\n\n\nconst ModalInput: React.FC<OpenAiFormProps> = ({\n title,\n value,\n message,\n placeholder,\n setValue,\n loading,\n error,\n Submit\n}) => {\n // On veut de l'autofocusm mais ne marche pas naturellement, donc useEffect + ref\n const inputRef = useRef<null | HTMLInputElement>(null)\n useEffect(() => { inputRef.current?.focus() }, [])\n\n return (\n <form className=\"flex flex-col gap-3\">\n <div className=\"flex items-center text-base font-semibold leading-6 text-gray-700 gap-1\">\n <SparklesIcon className=\"size-4\" />\n <FormattedMessage id=\"url_scrapper.prompt\" defaultMessage={title} />\n </div>\n <div className=\"flex text-start text-base text-gray-500\">\n <FormattedMessage id=\"url_scrapper.prompt\" defaultMessage={message} />\n </div>\n <div className=\"relative flex items-center mt-3\">\n <input\n type=\"text\"\n onChange={\n (e) => setValue(e.target.value)\n }\n ref={inputRef}\n // autoFocus\n value={value}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n Submit();\n }\n }}\n className=\"pr-16 w-full text-sm form-input flex flex-1 rounded-md border-gray-300 shadow-sm focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20 \"\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n onClick={Submit}\n className={`absolute -right-0 h-full w-16 p-2 font-medium text-white bg-brand_main rounded-r-md border border-gray-300 hover:bg-brand_darker duration-300 ${loading ? \"ring-4 ring-brand_lighter\" : \"\"} `}\n >\n <span className=\"mb-2\">\n {!loading ? (\n <>\n <FormattedMessage id=\"url_scrapper.go\" defaultMessage=\"GO!\" />\n <SparklesIcon className=\"inline h-4 w-4\" /></>) : <Spinner className=\"animate-spin mb-1 ml-4 h-5 w-5 text-white\" />}\n </span>\n </button>\n </div>\n {\n error ?\n (\n <div className=\"mt-2 p-2 bg-red-500 text-white text-sm font-bold rounded\">\n {error}\n </div>\n ) :\n (\n <></>\n )\n }\n </form>\n )\n}\n\nexport default ModalInput\n","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);","var _excluded = [\"attr\", \"size\", \"title\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext.mjs\";\nfunction Tree2Element(tree) {\n return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: i\n }, node.attr), Tree2Element(node.child)));\n}\nexport function GenIcon(data) {\n return props => /*#__PURE__*/React.createElement(IconBase, _extends({\n attr: _objectSpread({}, data.attr)\n }, props), Tree2Element(data.child));\n}\nexport function IconBase(props) {\n var elem = conf => {\n var {\n attr,\n size,\n title\n } = props,\n svgProps = _objectWithoutProperties(props, _excluded);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: _objectSpread(_objectSpread({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && /*#__PURE__*/React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib/index.mjs';\nexport function GoAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.25-8.25a.75.75 0 0 0-1.5 0v4.5a.75.75 0 0 0 1.5 0v-4.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752Zm3.03.751a1.002 1.002 0 0 0-1.732 0L2.168 19.499A1.002 1.002 0 0 0 3.034 21h17.932a1.002 1.002 0 0 0 .866-1.5L12.866 3.994Z\"},\"child\":[]}]})(props);\n};\nexport function GoAlertFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.836 3.244c.963-1.665 3.365-1.665 4.328 0l8.967 15.504c.963 1.667-.24 3.752-2.165 3.752H3.034c-1.926 0-3.128-2.085-2.165-3.752ZM12 8.5a.75.75 0 0 0-.75.75v4.5a.75.75 0 0 0 1.5 0v-4.5A.75.75 0 0 0 12 8.5Zm1 9a1 1 0 1 0-2 0 1 1 0 0 0 2 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.75 2h18.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 21.25 9H2.75A1.75 1.75 0 0 1 1 7.25v-3.5C1 2.784 1.784 2 2.75 2Zm18.5 1.5H2.75a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25ZM2.75 10a.75.75 0 0 1 .75.75v9.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25v-9.5a.75.75 0 0 1 1.5 0v9.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25v-9.5a.75.75 0 0 1 .75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.75 11.5a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowBoth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.78 5.97a.75.75 0 0 0-1.06 0l-5.25 5.25a.75.75 0 0 0 0 1.06l5.25 5.25a.75.75 0 0 0 1.06-1.06L3.81 12.5h16.38l-3.97 3.97a.75.75 0 1 0 1.06 1.06l5.25-5.25a.75.75 0 0 0 0-1.06l-5.25-5.25a.75.75 0 1 0-1.06 1.06L20.19 11H3.81l3.97-3.97a.75.75 0 0 0 0-1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.97 13.22a.75.75 0 0 1 1.06 0L11 18.19V3.75a.75.75 0 0 1 1.5 0v14.44l4.97-4.97a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-6.25 6.25a.75.75 0 0 1-1.06 0l-6.25-6.25a.75.75 0 0 1 0-1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75 8.5a.75.75 0 0 1 .75.75v7.19L16.72 6.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L7.56 17.5h7.19a.75.75 0 0 1 0 1.5h-9a.75.75 0 0 1-.75-.75v-9a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.25 8.5a.75.75 0 0 1 .75.75v9a.75.75 0 0 1-.75.75h-9a.75.75 0 0 1 0-1.5h7.19L6.22 7.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L17.5 16.44V9.25a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.78 19.03a.75.75 0 0 1-1.06 0l-6.25-6.25a.75.75 0 0 1 0-1.06l6.25-6.25a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L5.81 11.5h14.44a.75.75 0 0 1 0 1.5H5.81l4.97 4.97a.75.75 0 0 1 0 1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.22 19.03a.75.75 0 0 1 0-1.06L18.19 13H3.75a.75.75 0 0 1 0-1.5h14.44l-4.97-4.97a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowSwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.72 21.78a.75.75 0 0 0 1.06-1.06L5.56 17.5h14.69a.75.75 0 0 0 0-1.5H5.56l3.22-3.22a.75.75 0 1 0-1.06-1.06l-4.5 4.5a.75.75 0 0 0 0 1.06l4.5 4.5Zm8.56-9.5a.75.75 0 1 1-1.06-1.06L18.44 8H3.75a.75.75 0 0 1 0-1.5h14.69l-3.22-3.22a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.655 10.405a.75.75 0 0 1-1.06 0l-4.97-4.97v14.44a.75.75 0 0 1-1.5 0V5.435l-4.97 4.97a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l6.25-6.25a.75.75 0 0 1 1.06 0l6.25 6.25a.75.75 0 0 1 0 1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75 15.5a.75.75 0 0 1-.75-.75v-9A.75.75 0 0 1 5.75 5h9a.75.75 0 0 1 0 1.5H7.56l10.22 10.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L6.5 7.56v7.19a.75.75 0 0 1-.75.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.25 15.5a.75.75 0 0 1-.75-.75V7.56L7.28 17.78a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L16.44 6.5H9.25a.75.75 0 0 1 0-1.5h9a.75.75 0 0 1 .75.75v9a.75.75 0 0 1-.75.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8.807V3.5h-.563a.75.75 0 0 1 0-1.5h9.125a.75.75 0 0 1 0 1.5H16v5.307l5.125 9.301c.964 1.75-.302 3.892-2.299 3.892H5.174c-1.998 0-3.263-2.142-2.3-3.892ZM4.189 18.832a1.123 1.123 0 0 0 .985 1.668h13.652a1.123 1.123 0 0 0 .985-1.668L17.7 15H6.3ZM14.5 3.5h-5V9a.75.75 0 0 1-.093.362L7.127 13.5h9.746l-2.28-4.138A.75.75 0 0 1 14.5 9Z\"},\"child\":[]}]})(props);\n};\nexport function GoBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c3.681 0 7 2.565 7 6v4.539c0 .642.189 1.269.545 1.803l2.2 3.298A1.517 1.517 0 0 1 20.482 19H15.5a3.5 3.5 0 1 1-7 0H3.519a1.518 1.518 0 0 1-1.265-2.359l2.2-3.299A3.25 3.25 0 0 0 5 11.539V7c0-3.435 3.318-6 7-6ZM6.5 7v4.539a4.75 4.75 0 0 1-.797 2.635l-2.2 3.298-.003.01.001.007.004.006.006.004.007.001h16.964l.007-.001.006-.004.004-.006.001-.006a.017.017 0 0 0-.003-.01l-2.199-3.299a4.753 4.753 0 0 1-.798-2.635V7c0-2.364-2.383-4.5-5.5-4.5S6.5 4.636 6.5 7ZM14 19h-4a2 2 0 1 0 4 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoBellFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a6 6 0 1 1 12 0v2.917c0 .703.228 1.387.65 1.95L20.7 15.6a1.5 1.5 0 0 1-1.2 2.4h-15a1.5 1.5 0 0 1-1.2-2.4l2.05-2.733a3.25 3.25 0 0 0 .65-1.95Zm6 13.5A3.502 3.502 0 0 1 8.645 19h6.71A3.502 3.502 0 0 1 12 21.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.22 1.22a.75.75 0 0 1 1.06 0l20.5 20.5a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L17.94 19H15.5a3.5 3.5 0 1 1-7 0H3.518a1.516 1.516 0 0 1-1.263-2.36l2.2-3.298A3.249 3.249 0 0 0 5 11.539V7c0-.294.025-.583.073-.866L1.22 2.28a.75.75 0 0 1 0-1.06ZM6.5 7.56h-.001v3.979a4.75 4.75 0 0 1-.797 2.635l-2.2 3.298-.003.01.001.007.004.006.006.004.007.001H16.44ZM10 19a2 2 0 1 0 4 0Zm2-16.5c-1.463 0-2.8.485-3.788 1.257l-.04.032a.75.75 0 1 1-.935-1.173l.05-.04C8.548 1.59 10.212 1 12 1c3.681 0 7 2.565 7 6v4.539c0 .642.19 1.269.546 1.803l1.328 1.992a.75.75 0 1 1-1.248.832l-1.328-1.992a4.75 4.75 0 0 1-.798-2.635V7c0-2.364-2.383-4.5-5.5-4.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoBlocked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.638 2.22a.749.749 0 0 1 .53-.22h7.664c.199 0 .389.079.53.22l5.418 5.418c.141.14.22.332.22.53v7.664a.749.749 0 0 1-.22.53l-5.418 5.418a.749.749 0 0 1-.53.22H8.168a.749.749 0 0 1-.53-.22l-5.42-5.418a.752.752 0 0 1-.219-.53V8.168c0-.199.079-.389.22-.53l5.418-5.42ZM8.48 3.5 3.5 8.48v7.04l4.98 4.98h7.04l4.98-4.98V8.48L15.52 3.5ZM7 11.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.75c0-.69.56-1.25 1.25-1.25h5a4.752 4.752 0 0 1 3.888 7.479A5 5 0 0 1 14 20.5H7.25c-.69 0-1.25-.56-1.25-1.25ZM8.5 13v5H14a2.5 2.5 0 1 0 0-5Zm0-2.5h3.751A2.25 2.25 0 0 0 12.25 6H8.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.75A.75.75 0 0 1 .75 3h7.497c1.566 0 2.945.8 3.751 2.014A4.495 4.495 0 0 1 15.75 3h7.5a.75.75 0 0 1 .75.75v15.063a.752.752 0 0 1-.755.75l-7.682-.052a3 3 0 0 0-2.142.878l-.89.891a.75.75 0 0 1-1.061 0l-.902-.901a2.996 2.996 0 0 0-2.121-.879H.75a.75.75 0 0 1-.75-.75Zm12.75 15.232a4.503 4.503 0 0 1 2.823-.971l6.927.047V4.5h-6.75a3 3 0 0 0-3 3ZM11.247 7.497a3 3 0 0 0-3-2.997H1.5V18h6.947c1.018 0 2.006.346 2.803.98Z\"},\"child\":[]}]})(props);\n};\nexport function GoBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.75C5 2.784 5.784 2 6.75 2h10.5c.966 0 1.75.784 1.75 1.75v17.5a.75.75 0 0 1-1.218.586L12 17.21l-5.781 4.625A.75.75 0 0 1 5 21.25Zm1.75-.25a.25.25 0 0 0-.25.25v15.94l5.031-4.026a.749.749 0 0 1 .938 0L17.5 19.69V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.69 2h10.56c.966 0 1.75.784 1.75 1.75v17.5a.75.75 0 0 1-1.218.585L12 17.21l-5.781 4.626A.75.75 0 0 1 5 21.253L4.94 3.756A1.748 1.748 0 0 1 6.69 2Z\"},\"child\":[]}]})(props);\n};\nexport function GoBookmarkSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.565 2.018v-.001l21.75 15.75a.75.75 0 1 1-.88 1.215L19 16.495v4.764a.748.748 0 0 1-1.219.584L12 17.21l-5.781 4.634A.75.75 0 0 1 5 21.259V6.357L.685 3.232a.75.75 0 0 1 .88-1.214ZM17.5 15.408l-11-7.965v12.254l5.031-4.032a.749.749 0 0 1 .938 0l5.031 4.032ZM7.25 2a.75.75 0 0 0 0 1.5h10a.25.25 0 0 1 .25.25v6.5a.75.75 0 0 0 1.5 0v-6.5A1.75 1.75 0 0 0 17.25 2h-10Z\"},\"child\":[]}]})(props);\n};\nexport function GoBookmarkSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.232 2.175 18.5 15.5a.75.75 0 1 1-.964 1.15L19 17.343v3.907a.75.75 0 0 1-1.218.585L12 17.21l-5.781 4.626A.75.75 0 0 1 5 21.253L4.947 5.569 2.268 3.325a.75.75 0 1 1 .964-1.15ZM7.421 2h9.829c.966 0 1.75.784 1.75 1.75v8.073a.75.75 0 0 1-1.232.575L6.94 3.325A.75.75 0 0 1 7.421 2Z\"},\"child\":[]}]})(props);\n};\nexport function GoBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.75C7.5.784 8.284 0 9.25 0h5.5c.966 0 1.75.784 1.75 1.75V4h4.75c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 21.25 22H2.75A1.75 1.75 0 0 1 1 20.25V5.75C1 4.784 1.784 4 2.75 4H7.5Zm-5 10.24v8.26c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25v-8.26A4.235 4.235 0 0 1 18.75 13H5.25a4.235 4.235 0 0 1-2.75-1.01Zm19-3.24v-3a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25v3a2.75 2.75 0 0 0 2.75 2.75h13.5a2.75 2.75 0 0 0 2.75-2.75Zm-6.5-7a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25V4h6Z\"},\"child\":[]}]})(props);\n};\nexport function GoBroadcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.485 2.515a.75.75 0 0 0-1.06 1.06A10.465 10.465 0 0 1 22.5 11c0 2.9-1.174 5.523-3.075 7.424a.75.75 0 0 0 1.06 1.061A11.965 11.965 0 0 0 24 11c0-3.314-1.344-6.315-3.515-8.485Zm-15.91 1.06a.75.75 0 0 0-1.06-1.06A11.965 11.965 0 0 0 0 11c0 3.313 1.344 6.314 3.515 8.485a.75.75 0 0 0 1.06-1.06A10.465 10.465 0 0 1 1.5 11c0-2.9 1.174-5.524 3.075-7.425ZM8.11 7.11a.75.75 0 0 0-1.06-1.06A6.98 6.98 0 0 0 5 11a6.98 6.98 0 0 0 2.05 4.95.75.75 0 0 0 1.06-1.061 5.48 5.48 0 0 1-1.61-3.89 5.48 5.48 0 0 1 1.61-3.888Zm8.84-1.06a.75.75 0 1 0-1.06 1.06A5.48 5.48 0 0 1 17.5 11a5.48 5.48 0 0 1-1.61 3.889.75.75 0 1 0 1.06 1.06A6.98 6.98 0 0 0 19 11a6.98 6.98 0 0 0-2.05-4.949ZM14 11a2 2 0 0 1-1.25 1.855v8.395a.75.75 0 0 1-1.5 0v-8.395A2 2 0 1 1 14 11Z\"},\"child\":[]}]})(props);\n};\nexport function GoBrowser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.75C0 2.784.784 2 1.75 2h20.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 22.25 22H1.75A1.75 1.75 0 0 1 0 20.25ZM22.5 7h-21v13.25c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25Zm-10-3.5v2h10V3.75a.25.25 0 0 0-.25-.25ZM7 3.5v2h4v-2Zm-5.25 0a.25.25 0 0 0-.25.25V5.5h4v-2Z\"},\"child\":[]}]})(props);\n};\nexport function GoBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.72.22a.75.75 0 0 1 1.06 0l1.204 1.203A4.98 4.98 0 0 1 12 1c.717 0 1.4.151 2.016.423L15.22.22a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-.971.972A4.991 4.991 0 0 1 17 6v1.104a2.755 2.755 0 0 1 1.917 1.974l1.998-.999a.75.75 0 0 1 .67 1.342L19 10.714V13.5l3.25.003a.75.75 0 0 1 0 1.5L19 15.001V16c0 .568-.068 1.134-.204 1.686l.04.018 2.75 1.375a.75.75 0 1 1-.671 1.342l-2.638-1.319A6.998 6.998 0 0 1 12 23a6.998 6.998 0 0 1-6.197-3.742l-2.758 1.181a.752.752 0 0 1-1.064-.776.752.752 0 0 1 .474-.602l2.795-1.199A6.976 6.976 0 0 1 5 16v-.996H1.75a.75.75 0 0 1 0-1.5H5v-2.79L2.415 9.42a.75.75 0 0 1 .67-1.342l1.998.999A2.756 2.756 0 0 1 7 7.104V6a4.99 4.99 0 0 1 1.69-3.748l-.97-.972a.75.75 0 0 1 0-1.06ZM6.5 9.75V16a5.5 5.5 0 1 0 11 0V9.75c0-.69-.56-1.25-1.25-1.25h-8.5c-.69 0-1.25.56-1.25 1.25ZM8.5 7h7V6a3.5 3.5 0 1 0-7 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 0a.75.75 0 0 1 .75.75V3h9V.75a.75.75 0 0 1 1.5 0V3h2.75c.966 0 1.75.784 1.75 1.75v16a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75v-16C1.5 3.784 2.284 3 3.25 3H6V.75A.75.75 0 0 1 6.75 0ZM21 9.5H3v11.25c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25Zm-17.75-5a.25.25 0 0 0-.25.25V8h18V4.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.03 5.72a.75.75 0 0 1 0 1.06l-11.5 11.5a.747.747 0 0 1-1.072-.012l-5.5-5.75a.75.75 0 1 1 1.084-1.036l4.97 5.195L19.97 5.72a.75.75 0 0 1 1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.28 9.28a.75.75 0 0 0-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6.5-6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoCheckCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoCheckbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.28 9.28a.75.75 0 0 0-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6.5-6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75a.25.25 0 0 0-.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoChecklist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.75a.25.25 0 0 1 .25-.25h13.5a.25.25 0 0 1 .25.25v10a.75.75 0 0 0 1.5 0v-10A1.75 1.75 0 0 0 17.25 2H3.75A1.75 1.75 0 0 0 2 3.75v16.5c0 .966.784 1.75 1.75 1.75h7a.75.75 0 0 0 0-1.5h-7a.25.25 0 0 1-.25-.25V3.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 7a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Zm-.75 4.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm16.28 4.53a.75.75 0 1 0-1.06-1.06l-4.97 4.97-1.97-1.97a.75.75 0 1 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5.5-5.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.22 8.22a.749.749 0 0 0 0 1.06l6.25 6.25a.749.749 0 0 0 1.06 0l6.25-6.25a.749.749 0 1 0-1.06-1.06L12 13.939 6.28 8.22a.749.749 0 0 0-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.28 5.22a.75.75 0 0 1 0 1.06L9.56 12l5.72 5.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.25-6.25a.75.75 0 0 1 0-1.06l6.25-6.25a.75.75 0 0 1 1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.72 18.78a.75.75 0 0 1 0-1.06L14.44 12 8.72 6.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.78 15.78a.749.749 0 0 1-1.06 0L12 10.061 6.28 15.78a.749.749 0 1 1-1.06-1.06l6.25-6.25a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 0 1 0 1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9.5A9.5 9.5 0 0 0 2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoCircleSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM5.834 19.227A9.464 9.464 0 0 0 12 21.5a9.5 9.5 0 0 0 9.5-9.5 9.464 9.464 0 0 0-2.273-6.166ZM2.5 12a9.464 9.464 0 0 0 2.273 6.166L18.166 4.773A9.463 9.463 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 7.25a.75.75 0 0 0-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 0 0 .744-1.302L12.5 12.315V7.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoClockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11.575-4.75a.825.825 0 1 0-1.65 0v5.5c0 .296.159.57.416.716l3.5 2a.825.825 0 0 0 .818-1.432l-3.084-1.763Z\"},\"child\":[]}]})(props);\n};\nexport function GoCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.103 10.107c0-4.244 3.445-7.607 7.733-7.607 3.19 0 5.912 1.858 7.099 4.563l.01.022.001.006C21.348 7.345 24 10.095 24 13.536 24 17.148 21.076 20 17.431 20H5.017C2.23 20 0 17.83 0 15.06a4.899 4.899 0 0 1 3.112-4.581 7.696 7.696 0 0 1-.009-.372ZM10.836 4c-3.485 0-6.233 2.717-6.233 6.107 0 .284.022.602.052.756a.75.75 0 0 1-.552.869c-1.52.385-2.603 1.712-2.603 3.328 0 1.917 1.532 3.44 3.517 3.44h12.414c2.843 0 5.069-2.206 5.069-4.964 0-2.759-2.226-4.965-5.069-4.965a.75.75 0 0 1-.696-.47l-.179-.446C15.606 5.5 13.424 4 10.836 4Z\"},\"child\":[]}]})(props);\n};\nexport function GoCloudOffline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.78 2.22 19.5 19.5a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.845-2.845a6.932 6.932 0 0 1-.944.065H5.017C2.229 20 0 17.831 0 15.059a4.899 4.899 0 0 1 3.111-4.58A7.52 7.52 0 0 1 4.36 5.922L1.72 3.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018ZM16.94 18.5 5.448 7.01a6.026 6.026 0 0 0-.794 3.853.75.75 0 0 1-.552.869c-1.52.385-2.603 1.712-2.603 3.328 0 1.917 1.532 3.44 3.517 3.44Zm-6.104-16a7.865 7.865 0 0 0-3.638.88.75.75 0 1 0 .692 1.331A6.365 6.365 0 0 1 10.836 4c2.588 0 4.77 1.5 5.72 3.655l.179.445a.75.75 0 0 0 .696.471c2.843 0 5.069 2.206 5.069 4.965a4.9 4.9 0 0 1-1.684 3.716.75.75 0 0 0 .986 1.13A6.396 6.396 0 0 0 24 13.536c0-3.44-2.652-6.191-6.054-6.445l-.002-.006a.634.634 0 0 0-.01-.022C16.749 4.358 14.026 2.5 10.837 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.22 4.97a.75.75 0 0 1 1.06 0l6.5 6.5a.75.75 0 0 1 0 1.06l-6.5 6.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L21.19 12l-5.97-5.97a.75.75 0 0 1 0-1.06Zm-6.44 0a.75.75 0 0 1 0 1.06L2.81 12l5.97 5.97a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-6.5-6.5a.75.75 0 0 1 0-1.06l6.5-6.5a.75.75 0 0 1 1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoCodeOfConduct (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.828 4.328C5.26 1.896 9.5 1.881 11.935 4.317c.024.024.046.05.067.076 1.391-1.078 2.993-1.886 4.777-1.89a6.22 6.22 0 0 1 4.424 1.825c.559.56 1.023 1.165 1.34 1.922.318.756.47 1.617.468 2.663 0 2.972-2.047 5.808-4.269 8.074-2.098 2.14-4.507 3.924-5.974 5.009l-.311.23a.752.752 0 0 1-.897 0l-.312-.23c-1.466-1.085-3.875-2.869-5.973-5.009-2.22-2.263-4.264-5.095-4.27-8.063a6.216 6.216 0 0 1 1.823-4.596Zm8.033 1.042c-1.846-1.834-5.124-1.823-6.969.022a4.712 4.712 0 0 0-1.382 3.52c0 2.332 1.65 4.79 3.839 7.022 1.947 1.986 4.184 3.66 5.66 4.752a78.214 78.214 0 0 0 2.159-1.645l-2.14-1.974a.752.752 0 0 1 1.02-1.106l2.295 2.118c.616-.52 1.242-1.08 1.85-1.672l-2.16-1.992a.753.753 0 0 1 1.021-1.106l2.188 2.02a18.963 18.963 0 0 0 1.528-1.877l-.585-.586-1.651-1.652c-1.078-1.074-2.837-1.055-3.935.043-.379.38-.76.758-1.132 1.126-1.14 1.124-2.96 1.077-4.07-.043-.489-.495-.98-.988-1.475-1.482a.752.752 0 0 1-.04-1.019c.234-.276.483-.576.745-.893.928-1.12 2.023-2.442 3.234-3.576Zm9.725 6.77c.579-1.08.92-2.167.92-3.228.002-.899-.128-1.552-.35-2.08-.22-.526-.551-.974-1.017-1.44a4.71 4.71 0 0 0-3.356-1.384c-1.66.004-3.25.951-4.77 2.346-1.18 1.084-2.233 2.353-3.188 3.506l-.351.423c.331.332.663.664.993.998a1.375 1.375 0 0 0 1.943.03c.37-.365.748-.74 1.125-1.118 1.662-1.663 4.373-1.726 6.06-.045.56.558 1.12 1.12 1.658 1.658Z\"},\"child\":[]}]})(props);\n};\nexport function GoCodeReview (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCodeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCodescan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.97 6.97a.75.75 0 0 0 0 1.06l2.47 2.47-2.47 2.47a.75.75 0 1 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06l-3-3a.75.75 0 0 0-1.06 0ZM9.03 8.03a.75.75 0 0 0-1.06-1.06l-3 3a.75.75 0 0 0 0 1.06l3 3a.75.75 0 0 0 1.06-1.06L6.56 10.5l2.47-2.47Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 0C16.299 0 21 4.701 21 10.5a10.457 10.457 0 0 1-2.564 6.875l4.344 4.345a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-4.345-4.344A10.459 10.459 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5S4.701 0 10.5 0Zm-9 10.5a9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9 9 9 0 0 0-9 9Z\"},\"child\":[]}]})(props);\n};\nexport function GoCodescanCheckmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.03 8.28a.75.75 0 0 0-1.06-1.06l-5.22 5.22-2.22-2.22a.75.75 0 1 0-1.06 1.06l2.75 2.75a.75.75 0 0 0 1.06 0l5.75-5.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-4.345-4.344A10.457 10.457 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5Zm10.5-9a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9Z\"},\"child\":[]}]})(props);\n};\nexport function GoCodespaces (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 2h5.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 9.25 22h-5.5A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2Zm11 0h5.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22h-5.5A1.75 1.75 0 0 1 13 20.25V3.75c0-.966.784-1.75 1.75-1.75ZM3.5 3.75v16.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25Zm11 0v16.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25h-5.5a.25.25 0 0 0-.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCommandPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.045 18.894 9.94 12 3.045 5.106a.75.75 0 0 1 1.06-1.061l7.425 7.425a.75.75 0 0 1 0 1.06l-7.424 7.425a.75.75 0 0 1-1.061-1.06Zm8.205.606a.75.75 0 0 0 0 1.5h9.5a.75.75 0 0 0 0-1.5h-9.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCommentDiscussion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.75A.75.75 0 0 1 .75 11h5a.75.75 0 0 1 0 1.5h-5a.75.75 0 0 1-.75-.75Zm17.5 0a.75.75 0 0 1 .75-.75h5a.75.75 0 0 1 0 1.5h-5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17.75a6 6 0 1 1 0-12 6 6 0 0 1 0 12Zm0-1.5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\"},\"child\":[]}]})(props);\n};\nexport function GoContainer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.152.682a2.251 2.251 0 0 1 2.269 0l.007.004 6.957 4.276a2.277 2.277 0 0 1 1.126 1.964v7.516c0 .81-.432 1.56-1.133 1.968l-.002.001-11.964 7.037-.004.003c-.706.41-1.578.41-2.284 0l-.026-.015-6.503-4.502a2.268 2.268 0 0 1-1.096-1.943V9.438c0-.392.1-.77.284-1.1l.003-.006.014-.026c.197-.342.48-.627.82-.827h.002L13.152.681Zm.757 1.295h-.001L2.648 8.616l6.248 4.247a.775.775 0 0 0 .758-.01h.001l11.633-6.804-6.629-4.074a.75.75 0 0 0-.75.003ZM8.517 14.33a2.286 2.286 0 0 1-.393-.18l-.023-.014-6.102-4.147v7.003c0 .275.145.528.379.664l.025.014 6.114 4.232V14.33ZM18 9.709l-3.25 1.9v7.548L18 17.245Zm-7.59 4.438-.002.002a2.296 2.296 0 0 1-.391.18v7.612l3.233-1.902v-7.552Zm9.09-5.316v7.532l2.124-1.25a.776.776 0 0 0 .387-.671V7.363Z\"},\"child\":[]}]})(props);\n};\nexport function GoCopilot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.75 14a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 .75-.75Zm4.5 0a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 .75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c2.214 0 4.248.657 5.747 1.756.136.099.268.204.397.312.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086l.633 1.478.043.022A4.75 4.75 0 0 1 24 15.222v1.028c0 .529-.309.987-.565 1.293-.28.336-.636.653-.966.918a13.84 13.84 0 0 1-1.299.911l-.024.015-.006.004-.039.025c-.223.135-.45.264-.68.386-.46.245-1.122.571-1.941.895C16.845 21.344 14.561 22 12 22c-2.561 0-4.845-.656-6.479-1.303a19.046 19.046 0 0 1-1.942-.894 14.081 14.081 0 0 1-.535-.3l-.144-.087-.04-.025-.006-.004-.024-.015a13.16 13.16 0 0 1-1.299-.911 6.913 6.913 0 0 1-.967-.918C.31 17.237 0 16.779 0 16.25v-1.028a4.75 4.75 0 0 1 2.626-4.248l.043-.022.633-1.478a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.498 1.132-3.368.397-.406.89-.717 1.474-.952.129-.108.261-.213.397-.312C7.752 2.657 9.786 2 12 2Zm-8 9.654v6.669a17.59 17.59 0 0 0 2.073.98C7.595 19.906 9.686 20.5 12 20.5c2.314 0 4.405-.594 5.927-1.197a17.59 17.59 0 0 0 2.073-.98v-6.669l-.038-.09c-.046.061-.095.12-.145.177-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.544-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.344a4.323 4.323 0 0 1-.355.508C10.704 12.456 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a3.026 3.026 0 0 1-.145-.177Zm6.309-1.092c.445-.547.708-1.334.851-2.301.057-.357.087-.718.09-1.079v-.031c-.001-.762-.166-1.26-.43-1.568l-.008-.01c-.341-.391-1.046-.689-2.533-.529-1.505.163-2.347.537-2.824 1.024-.462.473-.705 1.18-.705 2.32 0 .605.044 1.087.135 1.472.092.384.231.672.423.89.365.413 1.084.75 2.657.75.91 0 1.527-.223 1.964-.564.14-.11.268-.235.38-.374Zm2.504-2.497c.136 1.057.403 1.913.878 2.497.442.545 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.151.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.318-.862-2.824-1.025-1.487-.161-2.192.139-2.533.529-.268.308-.437.808-.438 1.578v.02c.002.299.023.598.063.894Z\"},\"child\":[]}]})(props);\n};\nexport function GoCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 0 1-1.75 1.75H8.774a1.75 1.75 0 0 1-1.75-1.75Zm1.75-.25a.25.25 0 0 0-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.995 10.749a1.75 1.75 0 0 1 1.75-1.751H5.25a.75.75 0 1 1 0 1.5H3.745a.25.25 0 0 0-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 0 0 .25-.25v-1.51a.75.75 0 1 1 1.5 0v1.51A1.75 1.75 0 0 1 13.25 22h-9.5A1.75 1.75 0 0 1 2 20.25l-.005-9.501Z\"},\"child\":[]}]})(props);\n};\nexport function GoCpu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 8h6.5a.75.75 0 0 1 .75.75v6.5a.75.75 0 0 1-.75.75h-6.5a.75.75 0 0 1-.75-.75v-6.5A.75.75 0 0 1 8.75 8Zm.75 6.5h5v-5h-5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.25 1a.75.75 0 0 1 .75.75V4h2.25c.966 0 1.75.784 1.75 1.75V8h2.25a.75.75 0 0 1 0 1.5H20v5h2.25a.75.75 0 0 1 0 1.5H20v2.25A1.75 1.75 0 0 1 18.25 20H16v2.25a.75.75 0 0 1-1.5 0V20h-5v2.25a.75.75 0 0 1-1.5 0V20H5.75A1.75 1.75 0 0 1 4 18.25V16H1.75a.75.75 0 0 1 0-1.5H4v-5H1.75a.75.75 0 0 1 0-1.5H4V5.75C4 4.784 4.784 4 5.75 4H8V1.75a.75.75 0 0 1 1.5 0V4h5V1.75a.75.75 0 0 1 .75-.75Zm3 17.5a.25.25 0 0 0 .25-.25V5.75a.25.25 0 0 0-.25-.25H5.75a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.25 14a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25V4.75C0 3.784.784 3 1.75 3Zm-.25 7v9.25c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V10Zm0-5.25V8.5h21V4.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoCrossReference (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 2.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V4.06l-6.22 6.22a.75.75 0 1 1-1.06-1.06L20.94 3h-3.69a.75.75 0 0 1-.75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.75.75 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25v-6a.75.75 0 0 1 1.5 0v6a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.457 1.457 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75V4.25c0-.966.784-1.75 1.75-1.75h11a.75.75 0 0 1 0 1.5h-11Z\"},\"child\":[]}]})(props);\n};\nexport function GoDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12.75a.75.75 0 0 1 .75-.75h13.5a.75.75 0 0 1 0 1.5H5.25a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1.25c2.487 0 4.773.402 6.466 1.079.844.337 1.577.758 2.112 1.264.536.507.922 1.151.922 1.907v12.987l-.026.013h.026c0 .756-.386 1.4-.922 1.907-.535.506-1.268.927-2.112 1.264-1.693.677-3.979 1.079-6.466 1.079s-4.774-.402-6.466-1.079c-.844-.337-1.577-.758-2.112-1.264C2.886 19.9 2.5 19.256 2.5 18.5h.026l-.026-.013V5.5c0-.756.386-1.4.922-1.907.535-.506 1.268-.927 2.112-1.264C7.226 1.652 9.513 1.25 12 1.25ZM4 14.371v4.116l-.013.013H4c0 .211.103.487.453.817.351.332.898.666 1.638.962 1.475.589 3.564.971 5.909.971 2.345 0 4.434-.381 5.909-.971.739-.296 1.288-.63 1.638-.962.349-.33.453-.607.453-.817h.013L20 18.487v-4.116a7.85 7.85 0 0 1-1.534.8c-1.693.677-3.979 1.079-6.466 1.079s-4.774-.402-6.466-1.079a7.843 7.843 0 0 1-1.534-.8ZM20 12V7.871a7.85 7.85 0 0 1-1.534.8C16.773 9.348 14.487 9.75 12 9.75s-4.774-.402-6.466-1.079A7.85 7.85 0 0 1 4 7.871V12c0 .21.104.487.453.817.35.332.899.666 1.638.961 1.475.59 3.564.972 5.909.972 2.345 0 4.434-.382 5.909-.972.74-.295 1.287-.629 1.638-.96.35-.33.453-.607.453-.818ZM4 5.5c0 .211.103.487.453.817.351.332.898.666 1.638.962 1.475.589 3.564.971 5.909.971 2.345 0 4.434-.381 5.909-.971.739-.296 1.288-.63 1.638-.962.349-.33.453-.607.453-.817 0-.211-.103-.487-.453-.817-.351-.332-.898-.666-1.638-.962-1.475-.589-3.564-.971-5.909-.971-2.345 0-4.434.381-5.909.971-.739.296-1.288.63-1.638.962C4.104 5.013 4 5.29 4 5.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoDependabot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 11a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5a.75.75 0 0 1 .75-.75Zm7.25.75a.75.75 0 0 0-1.5 0v3.5a.75.75 0 0 0 1.5 0v-3.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.813 1h2.437a.75.75 0 0 1 .75.75V5h6.75A2.25 2.25 0 0 1 22 7.25v5.25h1.25a.75.75 0 0 1 0 1.5H22v5.75A2.25 2.25 0 0 1 19.75 22H4.25A2.25 2.25 0 0 1 2 19.75V14H.75a.75.75 0 0 1 0-1.5H2V7.25A2.25 2.25 0 0 1 4.25 5h7.25V2.5H9.813A.75.75 0 0 1 9.812 1ZM3.5 7.25v12.5c0 .414.336.75.75.75h15.5a.75.75 0 0 0 .75-.75V7.25a.75.75 0 0 0-.75-.75H4.25a.75.75 0 0 0-.75.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoDesktopDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.25 9.331V.75a.75.75 0 0 1 1.5 0v8.58l1.949-2.11A.75.75 0 1 1 15.8 8.237l-3.25 3.52a.75.75 0 0 1-1.102 0l-3.25-3.52A.75.75 0 1 1 9.3 7.22l1.949 2.111Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.75v11.5c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25h-5.5a.75.75 0 0 1 0-1.5h5.5c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0 1 21.25 17h-6.204c.171 1.375.805 2.652 1.769 3.757A.752.752 0 0 1 16.25 22h-8.5a.75.75 0 0 1-.566-1.243c.965-1.105 1.599-2.382 1.77-3.757H2.75A1.75 1.75 0 0 1 1 15.25V3.75C1 2.784 1.784 2 2.75 2h5.5a.75.75 0 0 1 0 1.5h-5.5a.25.25 0 0 0-.25.25ZM10.463 17c-.126 1.266-.564 2.445-1.223 3.5h5.52c-.66-1.055-1.098-2.234-1.223-3.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoDeviceCameraVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z\"},\"child\":[]}]})(props);\n};\nexport function GoDeviceDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.954 17H2.75A1.75 1.75 0 0 1 1 15.25V3.75C1 2.784 1.784 2 2.75 2h18.5c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0 1 21.25 17h-6.204c.171 1.375.805 2.652 1.769 3.757A.752.752 0 0 1 16.25 22h-8.5a.75.75 0 0 1-.565-1.243c.964-1.105 1.598-2.382 1.769-3.757ZM21.5 3.75a.25.25 0 0 0-.25-.25H2.75a.25.25 0 0 0-.25.25v11.5c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25ZM13.537 17h-3.074c-.126 1.266-.564 2.445-1.223 3.5h5.52c-.659-1.055-1.098-2.234-1.223-3.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoDeviceMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.25 5.25A.75.75 0 0 1 11 4.5h2A.75.75 0 0 1 13 6h-2a.75.75 0 0 1-.75-.75ZM12 19.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2.75C4 1.784 4.784 1 5.75 1h12.5c.966 0 1.75.784 1.75 1.75v18.5A1.75 1.75 0 0 1 18.25 23H5.75A1.75 1.75 0 0 1 4 21.25Zm1.75-.25a.25.25 0 0 0-.25.25v18.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V2.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.527 13.237a1.75 1.75 0 0 1 0-2.474l9.272-9.273a1.75 1.75 0 0 1 2.475 0l9.272 9.273a1.75 1.75 0 0 1 0 2.474l-9.272 9.272a1.75 1.75 0 0 1-2.475 0Zm1.06-1.414a.25.25 0 0 0 0 .354l9.273 9.272a.25.25 0 0 0 .353 0l9.272-9.272a.25.25 0 0 0 0-.354l-9.272-9.272a.25.25 0 0 0-.353 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.25 3.5a.75.75 0 0 1 .75.75V8.5h4.25a.75.75 0 0 1 0 1.5H13v4.25a.75.75 0 0 1-1.5 0V10H7.25a.75.75 0 0 1 0-1.5h4.25V4.25a.75.75 0 0 1 .75-.75ZM6.562 19.25a.75.75 0 0 1 .75-.75h9.938a.75.75 0 0 1 0 1.5H7.312a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoDiscussionClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.75C0 1.783.784 1 1.75 1h12.5c.967 0 1.75.783 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.457 1.457 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.189l2.72-2.719a.747.747 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm20.5 6h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5c.199 0 .39.079.53.22l2.72 2.719V19.25a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm-9.72-3.22-5 5a.747.747 0 0 1-1.06 0l-2.5-2.5a.749.749 0 1 1 1.06-1.06L7 8.689l4.47-4.469a.749.749 0 1 1 1.06 1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoDiscussionDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.75C0 1.783.784 1 1.75 1h12.5c.967 0 1.75.783 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.457 1.457 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.189l2.72-2.719a.747.747 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm20.5 6h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5c.199 0 .39.079.53.22l2.72 2.719V19.25a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25ZM11.28 5.53l-5 5a.749.749 0 1 1-1.06-1.06l5-5a.749.749 0 1 1 1.06 1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoDiscussionOutdated (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.75C0 1.783.784 1 1.75 1h12.5c.967 0 1.75.783 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.457 1.457 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.189l2.72-2.719a.747.747 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm20.5 6h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5c.199 0 .39.079.53.22l2.72 2.719V19.25a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25ZM8.5 4.75v3.14l1.15.488a.608.608 0 0 1 .037.017l1.393.681a.75.75 0 0 1-.66 1.348l-1.374-.673-1.589-.674A.751.751 0 0 1 7 8.386V4.75a.75.75 0 0 1 1.5 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12Zm0-1.5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9Z\"},\"child\":[]}]})(props);\n};\nexport function GoDotFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 17.25a.75.75 0 0 1 .75.75v2.25c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V18a.75.75 0 0 1 1.5 0v2.25A1.75 1.75 0 0 1 18.25 22H5.75A1.75 1.75 0 0 1 4 20.25V18a.75.75 0 0 1 .75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.22 9.97a.749.749 0 0 1 1.06 0l4.97 4.969V2.75a.75.75 0 0 1 1.5 0v12.189l4.97-4.969a.749.749 0 1 1 1.06 1.06l-6.25 6.25a.749.749 0 0 1-1.06 0l-6.25-6.25a.749.749 0 0 1 0-1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.513 6a.75.75 0 0 1 .75.75v2h1.987a.75.75 0 0 1 0 1.5h-1.987v2a.75.75 0 1 1-1.5 0v-2H11.75a.75.75 0 0 1 0-1.5h2.013v-2a.75.75 0 0 1 .75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 0 1-1.75 1.75H8.774a1.75 1.75 0 0 1-1.75-1.75Zm1.75-.25a.25.25 0 0 0-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.995 10.749a1.75 1.75 0 0 1 1.75-1.751H5.25a.75.75 0 1 1 0 1.5H3.745a.25.25 0 0 0-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 0 0 .25-.25v-1.51a.75.75 0 1 1 1.5 0v1.51A1.75 1.75 0 0 1 13.25 22h-9.5A1.75 1.75 0 0 1 2 20.25l-.005-9.501Z\"},\"child\":[]}]})(props);\n};\nexport function GoEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 12a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.5c3.432 0 6.124 1.534 8.054 3.241 1.926 1.703 3.132 3.61 3.616 4.46a1.6 1.6 0 0 1 0 1.598c-.484.85-1.69 2.757-3.616 4.461-1.929 1.706-4.622 3.24-8.054 3.24-3.432 0-6.124-1.534-8.054-3.24C2.02 15.558.814 13.65.33 12.8a1.6 1.6 0 0 1 0-1.598c.484-.85 1.69-2.757 3.616-4.462C5.875 5.034 8.568 3.5 12 3.5ZM1.633 11.945a.115.115 0 0 0-.017.055c.001.02.006.039.017.056.441.774 1.551 2.527 3.307 4.08C6.691 17.685 9.045 19 12 19c2.955 0 5.31-1.315 7.06-2.864 1.756-1.553 2.866-3.306 3.307-4.08a.111.111 0 0 0 .017-.056.111.111 0 0 0-.017-.056c-.441-.773-1.551-2.527-3.307-4.08C17.309 6.315 14.955 5 12 5 9.045 5 6.69 6.314 4.94 7.865c-1.756 1.552-2.866 3.306-3.307 4.08Z\"},\"child\":[]}]})(props);\n};\nexport function GoEyeClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.052 5.837A9.715 9.715 0 0 1 12 5c2.955 0 5.309 1.315 7.06 2.864 1.756 1.553 2.866 3.307 3.307 4.08a.11.11 0 0 1 .016.055.122.122 0 0 1-.017.06 16.766 16.766 0 0 1-1.53 2.218.75.75 0 1 0 1.163.946 18.253 18.253 0 0 0 1.67-2.42 1.607 1.607 0 0 0 .001-1.602c-.485-.85-1.69-2.757-3.616-4.46C18.124 5.034 15.432 3.5 12 3.5c-1.695 0-3.215.374-4.552.963a.75.75 0 0 0 .604 1.373Zm11.114 12.15C17.328 19.38 14.933 20.5 12 20.5c-3.432 0-6.125-1.534-8.054-3.24C2.02 15.556.814 13.648.33 12.798a1.606 1.606 0 0 1 .001-1.6A18.283 18.283 0 0 1 3.648 7.01L1.317 5.362a.75.75 0 1 1 .866-1.224l20.5 14.5a.75.75 0 1 1-.866 1.224ZM4.902 7.898c-1.73 1.541-2.828 3.273-3.268 4.044a.112.112 0 0 0-.017.059c0 .015.003.034.016.055.441.774 1.551 2.527 3.307 4.08C6.69 17.685 9.045 19 12 19c2.334 0 4.29-.82 5.874-1.927l-3.516-2.487a3.5 3.5 0 0 1-5.583-3.949L4.902 7.899Z\"},\"child\":[]}]})(props);\n};\nexport function GoFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4Zm10 0v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0Zm12-.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13.75C0 12.784.784 12 1.75 12h3c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75h-3A1.75 1.75 0 0 1 0 17.75Zm1.75-.25a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h3a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM9 12a.75.75 0 0 0 0 1.5h1.5V18H9a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5H12v-5.25a.75.75 0 0 0-.75-.75H9Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0Zm12-.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.53 12.24a.75.75 0 0 1-.039 1.06l-2.639 2.45 2.64 2.45a.75.75 0 1 1-1.022 1.1l-3.23-3a.75.75 0 0 1 0-1.1l3.23-3a.75.75 0 0 1 1.06.04Zm3.979 1.06a.75.75 0 1 1 1.02-1.1l3.231 3a.75.75 0 0 1 0 1.1l-3.23 3a.75.75 0 1 1-1.021-1.1l2.639-2.45-2.64-2.45Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 6.75a.75.75 0 0 0-1.5 0V9H8.75a.75.75 0 0 0 0 1.5H11v2.25a.75.75 0 0 0 1.5 0V10.5h2.25a.75.75 0 0 0 0-1.5H12.5V6.75ZM8.75 16a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2Zm-.5 2v18a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5a.5.5 0 0 0-.5.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileDirectory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063c.046.069.124.11.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0 1 20.25 21H3.75A1.75 1.75 0 0 1 2 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V7.687a.25.25 0 0 0-.25-.25h-8.471a1.75 1.75 0 0 1-1.447-.765L8.928 4.61a.252.252 0 0 0-.208-.11Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileDirectoryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.75C2 3.784 2.784 3 3.75 3h4.971c.58 0 1.12.286 1.447.765l1.404 2.063c.046.069.124.11.207.11h8.471c.966 0 1.75.783 1.75 1.75V19.25A1.75 1.75 0 0 1 20.25 21H3.75A1.75 1.75 0 0 1 2 19.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileMedia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.75 21.5H2.25A1.75 1.75 0 0 1 .5 19.75V4.25c0-.966.784-1.75 1.75-1.75h19.5c.966 0 1.75.784 1.75 1.75v15.5a1.75 1.75 0 0 1-1.75 1.75ZM2.25 4a.25.25 0 0 0-.25.25v15.5c0 .138.112.25.25.25h3.178L14 10.977a1.749 1.749 0 0 1 2.506-.032L22 16.44V4.25a.25.25 0 0 0-.25-.25ZM22 19.75v-1.19l-6.555-6.554a.248.248 0 0 0-.18-.073.247.247 0 0 0-.178.077L7.497 20H21.75a.25.25 0 0 0 .25-.25ZM10.5 9.25a3.25 3.25 0 1 1-6.5 0 3.25 3.25 0 0 1 6.5 0Zm-1.5 0a1.75 1.75 0 1 0-3.501.001A1.75 1.75 0 0 0 9 9.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileSubmodule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.75C2 3.784 2.784 3 3.75 3h4.965a1.75 1.75 0 0 1 1.456.78l1.406 2.109a.25.25 0 0 0 .208.111h8.465c.966 0 1.75.784 1.75 1.75v11.5A1.75 1.75 0 0 1 20.25 21H3.75A1.75 1.75 0 0 1 2 19.25Zm12.78 4.97a.749.749 0 0 0-1.275.326.749.749 0 0 0 .215.734l1.72 1.72H6.75a.75.75 0 0 0 0 1.5h8.69l-1.72 1.72a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215l3-3a.75.75 0 0 0 0-1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileSymlinkFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2H4.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V8.5h-4a2 2 0 0 1-2-2v-4H5a.5.5 0 0 0-.5.5v6.25a.75.75 0 0 1-1.5 0Zm6.308 11.5-2.104-2.236a.751.751 0 0 1 .369-1.255.749.749 0 0 1 .723.227l3.294 3.5a.75.75 0 0 1 0 1.028l-3.294 3.5a.749.749 0 0 1-1.275-.293.751.751 0 0 1 .183-.735L9.308 16H4.09a2.59 2.59 0 0 0-2.59 2.59v3.16a.75.75 0 0 1-1.5 0v-3.16a4.09 4.09 0 0 1 4.09-4.09ZM15 2.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 0-.146-.336l-4.018-4.018A.5.5 0 0 0 15 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoFileZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2.5a.5.5 0 0 0-.5.5v18a.5.5 0 0 0 .5.5h1.75a.75.75 0 0 1 0 1.5H5a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h9.982a2 2 0 0 1 1.414.586l4.018 4.018A2 2 0 0 1 21 7.018V21a2 2 0 0 1-2 2h-2.75a.75.75 0 0 1 0-1.5H19a.5.5 0 0 0 .5-.5V7.018a.5.5 0 0 0-.146-.354l-4.018-4.018a.5.5 0 0 0-.354-.146H5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 15.75a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm.75-3.75a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1Zm-.75-2.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75ZM12.25 6a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1Zm-.75-2.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75ZM9.75 13.5a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1ZM9 11.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm.75-3.75a.75.75 0 0 0 0 1.5h1a.75.75 0 0 0 0-1.5h-1ZM9 5.25a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1A.75.75 0 0 1 9 5.25ZM11 17h1a2 2 0 0 1 2 2v4.25a.75.75 0 0 1-.75.75h-3.5a.75.75 0 0 1-.75-.75V19a2 2 0 0 1 2-2Zm-.5 2v3.5h2V19a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.75 6a.75.75 0 0 0 0 1.5h18.5a.75.75 0 0 0 0-1.5H2.75ZM6 11.75a.75.75 0 0 1 .75-.75h10.5a.75.75 0 0 1 0 1.5H6.75a.75.75 0 0 1-.75-.75Zm4 4.938a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoFlame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.265 1.627c0 3.545 1.869 5.327 3.479 7.021 1.54 1.62 3.006 3.163 3.006 6.102 0 4.812-3.753 8.25-8.565 8.25-4.813 0-8.935-3.421-8.935-8.25 0-2.039.962-4.011 2.509-4.899.305-.175.672.007.803.334C7.563 12.684 8.797 12.64 9.437 12c.388-.387.47-1.116-.004-2.062-2.405-4.812 1.863-8.279 4.2-8.854.336-.082.615.198.632.543ZM12.185 21.5c4.059 0 7.065-2.84 7.065-6.75 0-2.337-1.093-3.489-2.678-5.158l-.021-.023c-1.44-1.517-3.139-3.351-3.649-6.557a6.148 6.148 0 0 0-1.911 1.76c-.787 1.144-1.147 2.633-.216 4.495.603 1.205.777 2.74-.277 3.794-.657.657-1.762 1.1-2.956.586-.752-.324-1.353-.955-1.838-1.79-.567.706-.954 1.74-.954 2.893 0 3.847 3.288 6.75 7.435 6.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoFold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15c.199 0 .389.079.53.22l3.25 3.25a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 16.81l-2.72 2.72a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25A.749.749 0 0 1 12 15Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.53 8.78a.75.75 0 0 1-1.06 0L8.22 5.53a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L12 7.19l2.72-2.72a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734ZM12 15.75a.75.75 0 0 1 .75.75v5.75a.75.75 0 0 1-1.5 0V16.5a.75.75 0 0 1 .75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8.5a.75.75 0 0 1-.75-.75v-6a.75.75 0 0 1 1.5 0v6a.75.75 0 0 1-.75.75ZM2.75 12a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoFoldDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19a.749.749 0 0 1-.53-.22l-3.25-3.25a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215L12 17.19l2.72-2.72a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-3.25 3.25A.749.749 0 0 1 12 19Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18a.75.75 0 0 1-.75-.75v-7.5a.75.75 0 0 1 1.5 0v7.5A.75.75 0 0 1 12 18ZM2.75 6a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1A.75.75 0 0 1 2.75 6Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1A.75.75 0 0 1 6.75 6Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoFoldUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.47 5.22a.75.75 0 0 1 1.06 0l3.25 3.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L12 6.81 9.28 9.53a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5.5a.75.75 0 0 1 .75.75v8a.75.75 0 0 1-1.5 0v-8A.75.75 0 0 1 12 5.5ZM2.75 18a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoGear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm-1.5 0a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c.266 0 .532.009.797.028.763.055 1.345.617 1.512 1.304l.352 1.45c.019.078.09.171.225.221.247.089.49.19.728.302.13.061.246.044.315.002l1.275-.776c.603-.368 1.411-.353 1.99.147.402.349.78.726 1.128 1.129.501.578.515 1.386.147 1.99l-.776 1.274c-.042.069-.058.185.002.315.112.238.213.481.303.728.048.135.142.205.22.225l1.45.352c.687.167 1.249.749 1.303 1.512.038.531.038 1.063 0 1.594-.054.763-.616 1.345-1.303 1.512l-1.45.352c-.078.019-.171.09-.221.225-.089.248-.19.491-.302.728-.061.13-.044.246-.002.315l.776 1.275c.368.603.353 1.411-.147 1.99-.349.402-.726.78-1.129 1.128-.578.501-1.386.515-1.99.147l-1.274-.776c-.069-.042-.185-.058-.314.002a8.606 8.606 0 0 1-.729.303c-.135.048-.205.142-.225.22l-.352 1.45c-.167.687-.749 1.249-1.512 1.303-.531.038-1.063.038-1.594 0-.763-.054-1.345-.616-1.512-1.303l-.352-1.45c-.019-.078-.09-.171-.225-.221a8.138 8.138 0 0 1-.728-.302c-.13-.061-.246-.044-.315-.002l-1.275.776c-.603.368-1.411.353-1.99-.147-.402-.349-.78-.726-1.128-1.129-.501-.578-.515-1.386-.147-1.99l.776-1.274c.042-.069.058-.185-.002-.314a8.606 8.606 0 0 1-.303-.729c-.048-.135-.142-.205-.22-.225l-1.45-.352c-.687-.167-1.249-.749-1.304-1.512a11.158 11.158 0 0 1 0-1.594c.055-.763.617-1.345 1.304-1.512l1.45-.352c.078-.019.171-.09.221-.225.089-.248.19-.491.302-.728.061-.13.044-.246.002-.315l-.776-1.275c-.368-.603-.353-1.411.147-1.99.349-.402.726-.78 1.129-1.128.578-.501 1.386-.515 1.99-.147l1.274.776c.069.042.185.058.315-.002.238-.112.481-.213.728-.303.135-.048.205-.142.225-.22l.352-1.45c.167-.687.749-1.249 1.512-1.304C11.466 1.01 11.732 1 12 1Zm-.69 1.525c-.055.004-.135.05-.161.161l-.353 1.45a1.832 1.832 0 0 1-1.172 1.277 7.147 7.147 0 0 0-.6.249 1.833 1.833 0 0 1-1.734-.074l-1.274-.776c-.098-.06-.186-.036-.228 0a9.774 9.774 0 0 0-.976.976c-.036.042-.06.131 0 .228l.776 1.274c.314.529.342 1.18.074 1.734a7.147 7.147 0 0 0-.249.6 1.831 1.831 0 0 1-1.278 1.173l-1.45.351c-.11.027-.156.107-.16.162a9.63 9.63 0 0 0 0 1.38c.004.055.05.135.161.161l1.45.353a1.832 1.832 0 0 1 1.277 1.172c.074.204.157.404.249.6.268.553.24 1.204-.074 1.733l-.776 1.275c-.06.098-.036.186 0 .228.301.348.628.675.976.976.042.036.131.06.228 0l1.274-.776a1.83 1.83 0 0 1 1.734-.075c.196.093.396.176.6.25a1.831 1.831 0 0 1 1.173 1.278l.351 1.45c.027.11.107.156.162.16a9.63 9.63 0 0 0 1.38 0c.055-.004.135-.05.161-.161l.353-1.45a1.834 1.834 0 0 1 1.172-1.278 6.82 6.82 0 0 0 .6-.248 1.831 1.831 0 0 1 1.733.074l1.275.776c.098.06.186.036.228 0 .348-.301.675-.628.976-.976.036-.042.06-.131 0-.228l-.776-1.275a1.834 1.834 0 0 1-.075-1.733c.093-.196.176-.396.25-.6a1.831 1.831 0 0 1 1.278-1.173l1.45-.351c.11-.027.156-.107.16-.162a9.63 9.63 0 0 0 0-1.38c-.004-.055-.05-.135-.161-.161l-1.45-.353c-.626-.152-1.08-.625-1.278-1.172a6.576 6.576 0 0 0-.248-.6 1.833 1.833 0 0 1 .074-1.734l.776-1.274c.06-.098.036-.186 0-.228a9.774 9.774 0 0 0-.976-.976c-.042-.036-.131-.06-.228 0l-1.275.776a1.831 1.831 0 0 1-1.733.074 6.88 6.88 0 0 0-.6-.249 1.835 1.835 0 0 1-1.173-1.278l-.351-1.45c-.027-.11-.107-.156-.162-.16a9.63 9.63 0 0 0-1.38 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 3.75A3.75 3.75 0 0 1 7.5 0c1.455 0 3.436.901 4.5 3.11C13.064.901 15.044 0 16.5 0a3.75 3.75 0 0 1 3 6h1.75c.966 0 1.75.784 1.75 1.75v2.5c0 .698-.409 1.301-1 1.582v8.418A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25v-8.418c-.591-.282-1-.884-1-1.582v-2.5C1 6.784 1.784 6 2.75 6H4.5a3.733 3.733 0 0 1-.75-2.25ZM20.5 12h-7.75v8.5h7.5a.25.25 0 0 0 .25-.25Zm-9.25 8.5V12H3.5v8.25c0 .138.112.25.25.25Zm10-10a.25.25 0 0 0 .25-.25v-2.5a.25.25 0 0 0-.25-.25h-8.5v3Zm-18.5 0h8.5v-3h-8.5a.25.25 0 0 0-.25.25v2.5c0 .138.112.25.25.25Zm16-6.75A2.25 2.25 0 0 0 16.5 1.5c-1.15 0-3.433 1.007-3.72 4.5h3.72a2.25 2.25 0 0 0 2.25-2.25ZM11.22 6c-.287-3.493-2.57-4.5-3.72-4.5a2.25 2.25 0 1 0 0 4.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4.75a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM2.5 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5Zm0 14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 21Zm12.5-14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75 16.75A.75.75 0 0 1 5 16V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 8.75v-1H19v1a3.75 3.75 0 0 1-3.75 3.75h-7a1.75 1.75 0 0 0-1.75 1.75H5A3.25 3.25 0 0 1 8.25 11h7a2.25 2.25 0 0 0 2.25-2.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.944 11h4.306a.75.75 0 0 1 0 1.5h-4.306a5.001 5.001 0 0 1-9.888 0H2.75a.75.75 0 0 1 0-1.5h4.306a5.001 5.001 0 0 1 9.888 0Zm-1.444.75a3.5 3.5 0 1 0-7 0 3.5 3.5 0 0 0 7 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitCompare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm3.25-1.75a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.905 1.72a.75.75 0 0 1 0 1.06L12.685 4h4.065a3.75 3.75 0 0 1 3.75 3.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0ZM7.5 4.75a3.25 3.25 0 1 1-6.5 0 3.25 3.25 0 0 1 6.5 0ZM4.25 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 4.25 6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.095 22.28a.75.75 0 0 1 0-1.06l1.22-1.22H7.25a3.75 3.75 0 0 1-3.75-3.75V7.5a.75.75 0 0 1 1.5 0v8.75a2.25 2.25 0 0 0 2.25 2.25h4.064l-1.22-1.22a.748.748 0 0 1 .332-1.265.75.75 0 0 1 .729.205l2.5 2.5a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 13.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm-12.5 6a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5Zm0 14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 21Zm12.5-6a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 15Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7.25c0 2.9 2.35 5.25 5.25 5.25h4.5V14h-4.5A6.75 6.75 0 0 1 5 7.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75 16.75A.75.75 0 0 1 5 16V8a.75.75 0 0 1 1.5 0v8a.75.75 0 0 1-.75.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitMergeQueue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75 6.5a1.75 1.75 0 1 1 .001-3.501A1.75 1.75 0 0 1 5.75 6.5ZM9.5 8.75a1.75 1.75 0 1 1 3.501.001A1.75 1.75 0 0 1 9.5 8.75ZM5.75 22.5a3.25 3.25 0 0 1-.745-6.414A.81.81 0 0 1 5 16v-5a.75.75 0 0 1 1.5 0v5a.81.81 0 0 1-.005.086A3.252 3.252 0 0 1 5.75 22.5ZM4 19.25a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 4 19.25Zm11-6.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm3.25 1.75a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitPullRequest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm-14.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm0-14.5a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM4.75 3a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 3Zm0 14.5a1.75 1.75 0 1 0 .001 3.501A1.75 1.75 0 0 0 4.75 17.5Zm14.5 0a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 1.72a.75.75 0 0 1 0 1.06L12.185 4h4.065A3.75 3.75 0 0 1 20 7.75v8.75a.75.75 0 0 1-1.5 0V7.75a2.25 2.25 0 0 0-2.25-2.25h-4.064l1.22 1.22a.75.75 0 0 1-1.061 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0ZM4.75 7.25A.75.75 0 0 1 5.5 8v8A.75.75 0 0 1 4 16V8a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitPullRequestClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.266 2.711a.75.75 0 1 0-1.061-1.06l-1.983 1.983-1.984-1.983a.75.75 0 1 0-1.06 1.06l1.983 1.983-1.983 1.984a.75.75 0 0 0 1.06 1.06l1.984-1.983 1.983 1.983a.75.75 0 0 0 1.06-1.06l-1.983-1.984 1.984-1.983ZM4.75 1.5a3.25 3.25 0 0 1 .745 6.414A.827.827 0 0 1 5.5 8v8a.827.827 0 0 1-.005.086A3.25 3.25 0 0 1 4.75 22.5a3.25 3.25 0 0 1-.745-6.414A.827.827 0 0 1 4 16V8c0-.029.002-.057.005-.086A3.25 3.25 0 0 1 4.75 1.5ZM16 19.25a3.252 3.252 0 0 1 2.5-3.163V9.625a.75.75 0 0 1 1.5 0v6.462a3.252 3.252 0 0 1-.75 6.413A3.25 3.25 0 0 1 16 19.25ZM3 4.75a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 4.75Zm0 14.5a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 19.25Zm16.25-1.75a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Z\"},\"child\":[]}]})(props);\n};\nexport function GoGitPullRequestDraft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 1.5a3.25 3.25 0 0 1 .745 6.414A.827.827 0 0 1 5.5 8v8a.827.827 0 0 1-.005.086A3.25 3.25 0 0 1 4.75 22.5a3.25 3.25 0 0 1-.745-6.414A.827.827 0 0 1 4 16V8c0-.029.002-.057.005-.086A3.25 3.25 0 0 1 4.75 1.5ZM16 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM3 4.75a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 4.75Zm0 14.5a1.75 1.75 0 1 0 3.501-.001A1.75 1.75 0 0 0 3 19.25Zm16.25-1.75a1.75 1.75 0 1 0 .001 3.501 1.75 1.75 0 0 0-.001-3.501Zm0-11.5a1.75 1.75 0 1 0 0-3.5 1.75 1.75 0 0 0 0 3.5ZM21 11.25a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1Zm3.241 10.5v-.001c-.1-2.708-.992-4.904-1.89-6.452a13.919 13.919 0 0 0-1.304-1.88L12 3.11l-.047.059c-.354.425-.828 1.06-1.304 1.88-.898 1.547-1.79 3.743-1.89 6.451Zm-12.728 0h4.745c.1-3.037 1.1-5.49 2.093-7.204.39-.672.78-1.233 1.119-1.673C6.11 3.329 2.746 7 2.513 11.5Zm18.974 0C21.254 7 17.89 3.329 13.53 2.623c.339.44.729 1.001 1.119 1.673.993 1.714 1.993 4.167 2.093 7.204ZM8.787 13c.182 2.478 1.02 4.5 1.862 5.953.382.661.818 1.29 1.304 1.88l.047.057.047-.059c.354-.425.828-1.06 1.304-1.88.842-1.451 1.679-3.471 1.862-5.951Zm-1.504 0H2.552a9.505 9.505 0 0 0 7.918 8.377 15.773 15.773 0 0 1-1.119-1.673C8.413 18.085 7.47 15.807 7.283 13Zm9.434 0c-.186 2.807-1.13 5.085-2.068 6.704-.39.672-.78 1.233-1.118 1.673A9.506 9.506 0 0 0 21.447 13Z\"},\"child\":[]}]})(props);\n};\nexport function GoGoal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.172 6.75h-1.861l-4.566 4.564a1.874 1.874 0 1 1-1.06-1.06l4.565-4.565V3.828a.94.94 0 0 1 .275-.664l1.73-1.73a.249.249 0 0 1 .25-.063c.089.026.155.1.173.191l.46 2.301 2.3.46c.09.018.164.084.19.173a.25.25 0 0 1-.062.249l-1.731 1.73a.937.937 0 0 1-.663.275Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 12A9.375 9.375 0 0 0 12 21.375 9.375 9.375 0 0 0 21.375 12c0-.898-.126-1.766-.361-2.587A.75.75 0 0 1 22.455 9c.274.954.42 1.96.42 3 0 6.006-4.869 10.875-10.875 10.875S1.125 18.006 1.125 12 5.994 1.125 12 1.125c1.015-.001 2.024.14 3 .419a.75.75 0 1 1-.413 1.442A9.39 9.39 0 0 0 12 2.625 9.375 9.375 0 0 0 2.625 12Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.125 12a4.874 4.874 0 1 0 9.717-.569.748.748 0 0 1 1.047-.798c.251.112.42.351.442.625a6.373 6.373 0 0 1-10.836 5.253 6.376 6.376 0 0 1 5.236-10.844.75.75 0 1 1-.17 1.49A4.876 4.876 0 0 0 7.125 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoGrabber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9 18a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm6 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"},\"child\":[]}]})(props);\n};\nexport function GoGraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2.75a.75.75 0 0 0-1.5 0v18.5c0 .414.336.75.75.75H20a.75.75 0 0 0 0-1.5H2.5V2.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.28 7.78a.75.75 0 0 0-1.06-1.06l-5.72 5.72-3.72-3.72a.75.75 0 0 0-1.06 0l-6 6a.75.75 0 1 0 1.06 1.06l5.47-5.47 3.72 3.72a.75.75 0 0 0 1.06 0l6.25-6.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.618 1.76a.75.75 0 0 1 .623.859L9.46 7.5h6.48l.82-5.118a.75.75 0 0 1 1.48.237L17.46 7.5h3.79a.75.75 0 0 1 0 1.5h-4.03l-.96 6h3.99a.75.75 0 0 1 0 1.5h-4.23l-.78 4.869a.75.75 0 0 1-1.48-.237l.74-4.632H8.02l-.78 4.869a.75.75 0 0 1-1.48-.237L6.5 16.5H2.745a.75.75 0 0 1 0-1.5H6.74l.96-6H3.75a.75.75 0 0 1 0-1.5h4.19l.82-5.118a.75.75 0 0 1 .858-.622ZM14.741 15l.96-6H9.22l-.96 6Z\"},\"child\":[]}]})(props);\n};\nexport function GoHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 4a.75.75 0 0 1 .75.75V11h10V4.75a.75.75 0 0 1 1.5 0v14.5a.75.75 0 0 1-1.5 0V12.5H7v6.75a.75.75 0 0 1-1.5 0V4.75A.75.75 0 0 1 6.25 4Z\"},\"child\":[]}]})(props);\n};\nexport function GoHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12 20.703.343.667a.748.748 0 0 1-.686 0l-.003-.002-.007-.003-.025-.013a31.138 31.138 0 0 1-5.233-3.576C3.8 15.573 1 12.332 1 8.514v-.001C1 5.053 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262a31.148 31.148 0 0 1-5.233 3.576l-.025.013-.007.003-.002.001ZM6.736 4C4.657 4 2.5 5.88 2.5 8.514c0 3.107 2.324 5.96 4.861 8.12a29.655 29.655 0 0 0 4.566 3.175l.073.041.073-.04c.271-.153.661-.38 1.13-.674.94-.588 2.19-1.441 3.436-2.502 2.537-2.16 4.861-5.013 4.861-8.12C21.5 5.88 19.343 4 17.264 4c-2.106 0-3.801 1.389-4.553 3.643a.751.751 0 0 1-1.422 0C10.537 5.389 8.841 4 6.736 4Z\"},\"child\":[]}]})(props);\n};\nexport function GoHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 0 1-.686 0 16.709 16.709 0 0 1-.465-.252 31.147 31.147 0 0 1-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0 1 14 20.408Z\"},\"child\":[]}]})(props);\n};\nexport function GoHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.998 2.5A9.503 9.503 0 0 0 3.378 8H5.75a.75.75 0 0 1 0 1.5H2a1 1 0 0 1-1-1V4.75a.75.75 0 0 1 1.5 0v1.697A10.997 10.997 0 0 1 11.998 1C18.074 1 23 5.925 23 12s-4.926 11-11.002 11C6.014 23 1.146 18.223 1 12.275a.75.75 0 0 1 1.5-.037 9.5 9.5 0 0 0 9.498 9.262c5.248 0 9.502-4.253 9.502-9.5s-4.254-9.5-9.502-9.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 7.25a.75.75 0 0 0-1.5 0v5.5c0 .27.144.518.378.651l3.5 2a.75.75 0 0 0 .744-1.302L12.5 12.315V7.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.03 2.59a1.501 1.501 0 0 1 1.94 0l7.5 6.363a1.5 1.5 0 0 1 .53 1.144V19.5a1.5 1.5 0 0 1-1.5 1.5h-5.75a.75.75 0 0 1-.75-.75V14h-2v6.25a.75.75 0 0 1-.75.75H4.5A1.5 1.5 0 0 1 3 19.5v-9.403c0-.44.194-.859.53-1.144ZM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v6.25h5v-9.403Z\"},\"child\":[]}]})(props);\n};\nexport function GoHomeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.97 2.59a1.5 1.5 0 0 0-1.94 0l-7.5 6.363A1.5 1.5 0 0 0 3 10.097V19.5A1.5 1.5 0 0 0 4.5 21h4.75a.75.75 0 0 0 .75-.75V14h4v6.25c0 .414.336.75.75.75h4.75a1.5 1.5 0 0 0 1.5-1.5v-9.403a1.5 1.5 0 0 0-.53-1.144l-7.5-6.363Z\"},\"child\":[]}]})(props);\n};\nexport function GoHorizontalRule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.75a.75.75 0 0 1 .75-.75h18.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 2h14.5a.75.75 0 0 1 0 1.5h-.75v2.982a4.75 4.75 0 0 1-2.215 4.017l-2.044 1.29a.25.25 0 0 0 0 .422l2.044 1.29a4.75 4.75 0 0 1 2.215 4.017V20.5h.75a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1 0-1.5h.75v-2.982a4.75 4.75 0 0 1 2.215-4.017l2.044-1.29a.25.25 0 0 0 0-.422l-2.044-1.29A4.75 4.75 0 0 1 5.5 6.482V3.5h-.75a.75.75 0 0 1 0-1.5ZM17 3.5H7v2.982A3.25 3.25 0 0 0 8.516 9.23l2.044 1.29a1.75 1.75 0 0 1 0 2.96l-2.044 1.29A3.25 3.25 0 0 0 7 17.518V20.5h10v-2.982a3.25 3.25 0 0 0-1.516-2.748l-2.044-1.29a1.75 1.75 0 0 1 0-2.96l2.044-1.29A3.25 3.25 0 0 0 17 6.482Z\"},\"child\":[]}]})(props);\n};\nexport function GoHubot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13C0 6.373 5.373 1 12 1s12 5.373 12 12v8.657a.75.75 0 0 1-1.5 0V13c0-5.799-4.701-10.5-10.5-10.5S1.5 7.201 1.5 13v8.657a.75.75 0 0 1-1.5 0V13Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75ZM5.25 9.5h13.5c.966 0 1.75.784 1.75 1.75v3.5a1.75 1.75 0 0 1-1.75 1.75H5.25a1.75 1.75 0 0 1-1.75-1.75v-3.5c0-.966.784-1.75 1.75-1.75Zm.22 1.47a.75.75 0 0 0 0 1.06l3 3a.75.75 0 0 0 1.06 0L12 12.56l2.47 2.47a.75.75 0 0 0 1.06 0l3-3a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L15 13.44l-2.47-2.47a.75.75 0 0 0-1.06 0L9 13.44l-2.47-2.47a.75.75 0 0 0-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 3h14.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 19.25 21H4.75A1.75 1.75 0 0 1 3 19.25V4.75C3 3.784 3.784 3 4.75 3Zm14.5 1.5H4.75a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h.19l9.823-9.823a1.75 1.75 0 0 1 2.475 0l2.262 2.262V4.75a.25.25 0 0 0-.25-.25Zm.25 9.56-3.323-3.323a.25.25 0 0 0-.354 0L7.061 19.5H19.25a.25.25 0 0 0 .25-.25ZM8.5 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Zm0-1.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"},\"child\":[]}]})(props);\n};\nexport function GoInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.801 3.57A1.75 1.75 0 0 1 6.414 2.5h11.174c.702 0 1.337.42 1.611 1.067l3.741 8.828c.04.092.06.192.06.293v7.562A1.75 1.75 0 0 1 21.25 22H2.75A1.75 1.75 0 0 1 1 20.25v-7.5c0-.1.02-.199.059-.291L4.8 3.571ZM6.414 4a.25.25 0 0 0-.23.153L2.88 12H8a.75.75 0 0 1 .648.372L10.18 15h3.638l1.533-2.628a.75.75 0 0 1 .64-.372l5.13-.051-3.304-7.797a.25.25 0 0 0-.23-.152ZM21.5 13.445l-5.067.05-1.535 2.633a.75.75 0 0 1-.648.372h-4.5a.75.75 0 0 1-.648-.372L7.57 13.5H2.5v6.75c0 .138.112.25.25.25h18.5a.25.25 0 0 0 .25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoInfinity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11.16c.887-.933 1.813-1.865 2.78-2.6C15.952 7.668 17.267 7 18.75 7 21.657 7 24 9.615 24 12.25s-2.343 5.25-5.25 5.25c-1.483 0-2.798-.668-3.97-1.56-.967-.735-1.893-1.667-2.78-2.6-.887.933-1.813 1.865-2.78 2.6-1.172.892-2.487 1.56-3.97 1.56C2.343 17.5 0 14.885 0 12.25S2.343 7 5.25 7c1.483 0 2.798.667 3.97 1.56.967.735 1.893 1.667 2.78 2.6ZM5.25 8.5c-2.032 0-3.75 1.895-3.75 3.75S3.218 16 5.25 16c1.017 0 2.014-.457 3.062-1.253.89-.678 1.758-1.554 2.655-2.497-.897-.943-1.765-1.82-2.655-2.497C7.264 8.957 6.267 8.5 5.25 8.5Zm7.783 3.75c.897.943 1.765 1.82 2.655 2.497C16.736 15.543 17.733 16 18.75 16c2.032 0 3.75-1.895 3.75-3.75S20.782 8.5 18.75 8.5c-1.017 0-2.014.457-3.062 1.253-.89.678-1.758 1.554-2.655 2.497Z\"},\"child\":[]}]})(props);\n};\nexport function GoInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-3 3.75a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 .75.75v4.25h.75a.75.75 0 0 1 0 1.5h-3a.75.75 0 0 1 0-1.5h.75V12h-.75a.75.75 0 0 1-.75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoIssueClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.28 9.28a.75.75 0 0 0-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6.5-6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoIssueDraft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.32 3.205a.75.75 0 0 1 1.046-.177 11.056 11.056 0 0 1 2.605 2.606.75.75 0 1 1-1.222.869 9.554 9.554 0 0 0-2.252-2.252.75.75 0 0 1-.177-1.046Zm3.475 14.115a.75.75 0 0 1 .176 1.046 11.07 11.07 0 0 1-2.605 2.605.75.75 0 1 1-.869-1.222 9.554 9.554 0 0 0 2.252-2.252.75.75 0 0 1 1.046-.177ZM2.018 9.543a.75.75 0 0 1 .615.864 9.571 9.571 0 0 0 0 3.186.75.75 0 1 1-1.48.25 11.07 11.07 0 0 1 0-3.686.75.75 0 0 1 .865-.614Zm7.525 12.439a.75.75 0 0 1 .864-.615 9.571 9.571 0 0 0 3.186 0 .75.75 0 1 1 .25 1.48 11.07 11.07 0 0 1-3.686 0 .75.75 0 0 1-.614-.865ZM6.68 3.205a.75.75 0 0 1-.177 1.046A9.558 9.558 0 0 0 4.25 6.503a.75.75 0 1 1-1.223-.87 11.056 11.056 0 0 1 2.606-2.605.75.75 0 0 1 1.046.177ZM3.205 17.32a.75.75 0 0 1 1.046.177 9.554 9.554 0 0 0 2.252 2.252.75.75 0 1 1-.87 1.223 11.056 11.056 0 0 1-2.605-2.606.75.75 0 0 1 .177-1.046Zm6.952-16.166a11.07 11.07 0 0 1 3.686 0 .75.75 0 0 1-.25 1.479 9.571 9.571 0 0 0-3.186 0 .75.75 0 1 1-.25-1.48Zm11.825 8.389a.75.75 0 0 1 .864.614 11.07 11.07 0 0 1 0 3.686.75.75 0 0 1-1.479-.25 9.571 9.571 0 0 0 0-3.186.75.75 0 0 1 .615-.864Z\"},\"child\":[]}]})(props);\n};\nexport function GoIssueOpened (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z\"},\"child\":[]}]})(props);\n};\nexport function GoIssueReopened (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.38 8A9.502 9.502 0 0 1 12 2.5a9.502 9.502 0 0 1 9.215 7.182.75.75 0 1 0 1.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 0 0-9.5 5.452V4.75a.75.75 0 0 0-1.5 0V8.5a1 1 0 0 0 1 1h3.75a.75.75 0 0 0 0-1.5H3.38Zm-.595 6.318a.75.75 0 0 0-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 0 0 1.5 0V15.5a1 1 0 0 0-1-1h-3.75a.75.75 0 0 0 0 1.5h2.37A9.502 9.502 0 0 1 12 21.5c-4.446 0-8.181-3.055-9.215-7.182Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.414 13.414a2 2 0 1 1-2.828-2.828 2 2 0 0 1 2.828 2.828Z\"},\"child\":[]}]})(props);\n};\nexport function GoIssueTrackedBy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.5a9.5 9.5 0 1 0 0 19 .75.75 0 0 1 0 1.5C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11a.75.75 0 0 1-1.5 0A9.5 9.5 0 0 0 12 2.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.759 17.48 3.728 3.314a.308.308 0 0 0 .513-.23V18h4.25a.75.75 0 0 0 0-1.5H18v-2.564a.308.308 0 0 0-.513-.23L13.76 17.02a.308.308 0 0 0 0 .46ZM12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\"},\"child\":[]}]})(props);\n};\nexport function GoIssueTracks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 12a9.5 9.5 0 1 1 19 0 .75.75 0 0 0 1.5 0c0-6.075-4.925-11-11-11S1 5.925 1 12s4.925 11 11 11a.75.75 0 0 0 0-1.5A9.5 9.5 0 0 1 2.5 12Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm2.5 2.75a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Zm3.75 2.75a.75.75 0 0 0 0 1.5h4a.75.75 0 0 0 0-1.5h-4Z\"},\"child\":[]}]})(props);\n};\nexport function GoItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4.75a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-3.514l-5.828 13h3.342a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5h3.514l5.828-13H10.75a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoIterations (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 10.5a8 8 0 1 1 16 0 .75.75 0 0 0 1.5 0 9.5 9.5 0 1 0-9.5 9.5h10.94l-2.72 2.72a.75.75 0 1 0 1.06 1.06l3.735-3.735c.44-.439.44-1.151 0-1.59L19.78 14.72a.75.75 0 0 0-1.06 1.06l2.72 2.72H10.5a8 8 0 0 1-8-8Z\"},\"child\":[]}]})(props);\n};\nexport function GoKebabHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14a2 2 0 1 1-.001-3.999A2 2 0 0 1 20 14ZM6 12a2 2 0 1 1-3.999.001A2 2 0 0 1 6 12Zm8 0a2 2 0 1 1-3.999.001A2 2 0 0 1 14 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.75 8.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.75 0a8.25 8.25 0 1 1-2.541 16.101l-1.636 1.636a1.744 1.744 0 0 1-1.237.513H9.25a.25.25 0 0 0-.25.25v1.448a.876.876 0 0 1-.256.619l-.214.213a.75.75 0 0 1-.545.22H5.25a.25.25 0 0 0-.25.25v1A1.75 1.75 0 0 1 3.25 24h-1.5A1.75 1.75 0 0 1 0 22.25v-2.836c0-.464.185-.908.513-1.236l7.386-7.388A8.249 8.249 0 0 1 15.75 0ZM9 8.25a6.733 6.733 0 0 0 .463 2.462.75.75 0 0 1-.168.804l-7.722 7.721a.25.25 0 0 0-.073.177v2.836c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-1c0-.966.784-1.75 1.75-1.75H7.5v-1c0-.966.784-1.75 1.75-1.75h1.086a.25.25 0 0 0 .177-.073l1.971-1.972a.75.75 0 0 1 .804-.168A6.75 6.75 0 1 0 9 8.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoLaw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.75 2.75V4.5h1.975c.351 0 .694.106.984.303l1.697 1.154c.041.028.09.043.14.043h4.102a.75.75 0 0 1 0 1.5H20.07l3.366 7.68a.749.749 0 0 1-.23.896c-.1.074-.203.143-.31.206a6.296 6.296 0 0 1-.79.399 7.349 7.349 0 0 1-2.856.569 7.343 7.343 0 0 1-2.855-.568 6.205 6.205 0 0 1-.79-.4 3.205 3.205 0 0 1-.307-.202l-.005-.004a.749.749 0 0 1-.23-.896l3.368-7.68h-.886c-.351 0-.694-.106-.984-.303l-1.697-1.154a.246.246 0 0 0-.14-.043H12.75v14.5h4.487a.75.75 0 0 1 0 1.5H6.763a.75.75 0 0 1 0-1.5h4.487V6H9.275a.249.249 0 0 0-.14.043L7.439 7.197c-.29.197-.633.303-.984.303h-.886l3.368 7.68a.75.75 0 0 1-.209.878c-.08.065-.16.126-.31.223a6.077 6.077 0 0 1-.792.433 6.924 6.924 0 0 1-2.876.62 6.913 6.913 0 0 1-2.876-.62 6.077 6.077 0 0 1-.792-.433 3.483 3.483 0 0 1-.309-.221.762.762 0 0 1-.21-.88L3.93 7.5H2.353a.75.75 0 0 1 0-1.5h4.102c.05 0 .099-.015.141-.043l1.695-1.154c.29-.198.634-.303.985-.303h1.974V2.75a.75.75 0 0 1 1.5 0ZM2.193 15.198a5.414 5.414 0 0 0 2.557.635 5.414 5.414 0 0 0 2.557-.635L4.75 9.368Zm14.51-.024c.082.04.174.083.275.126.53.223 1.305.45 2.272.45a5.847 5.847 0 0 0 2.547-.576L19.25 9.367Z\"},\"child\":[]}]})(props);\n};\nexport function GoLightBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.5c-3.81 0-6.5 2.743-6.5 6.119 0 1.536.632 2.572 1.425 3.56.172.215.347.422.527.635l.096.112c.21.25.427.508.63.774.404.531.783 1.128.995 1.834a.75.75 0 0 1-1.436.432c-.138-.46-.397-.89-.753-1.357a18.111 18.111 0 0 0-.582-.714l-.092-.11c-.18-.212-.37-.436-.555-.667C4.87 12.016 4 10.651 4 8.618 4 4.363 7.415 1 12 1s8 3.362 8 7.619c0 2.032-.87 3.397-1.755 4.5-.185.23-.375.454-.555.667l-.092.109c-.21.248-.405.481-.582.714-.356.467-.615.898-.753 1.357a.751.751 0 0 1-1.437-.432c.213-.706.592-1.303.997-1.834.202-.266.419-.524.63-.774l.095-.112c.18-.213.355-.42.527-.634.793-.99 1.425-2.025 1.425-3.561C18.5 5.243 15.81 2.5 12 2.5ZM8.75 18h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5Zm.75 3.75a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.78 3.653a3.936 3.936 0 1 1 5.567 5.567l-3.627 3.627a3.936 3.936 0 0 1-5.88-.353.75.75 0 0 0-1.18.928 5.436 5.436 0 0 0 8.12.486l3.628-3.628a5.436 5.436 0 1 0-7.688-7.688l-3 3a.75.75 0 0 0 1.06 1.061l3-3Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.28 11.153a3.936 3.936 0 0 1 5.88.353.75.75 0 0 0 1.18-.928 5.436 5.436 0 0 0-8.12-.486L2.592 13.72a5.436 5.436 0 1 0 7.688 7.688l3-3a.75.75 0 1 0-1.06-1.06l-3 3a3.936 3.936 0 0 1-5.567-5.568l3.627-3.627Z\"},\"child\":[]}]})(props);\n};\nexport function GoLinkExternal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 2.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V4.06l-6.22 6.22a.75.75 0 1 1-1.06-1.06L19.94 3h-3.69a.75.75 0 0 1-.75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4.25c0-.966.784-1.75 1.75-1.75h8.5a.75.75 0 0 1 0 1.5h-8.5a.25.25 0 0 0-.25.25v15.5c0 .138.112.25.25.25h15.5a.25.25 0 0 0 .25-.25v-8.5a.75.75 0 0 1 1.5 0v8.5a1.75 1.75 0 0 1-1.75 1.75H4.25a1.75 1.75 0 0 1-1.75-1.75V4.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoListOrdered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.604 3.089A.75.75 0 0 1 4 3.75V8.5h.75a.75.75 0 0 1 0 1.5h-3a.75.75 0 1 1 0-1.5h.75V5.151l-.334.223a.75.75 0 0 1-.832-1.248l1.5-1a.75.75 0 0 1 .77-.037ZM8.75 5.5a.75.75 0 0 0 0 1.5h11.5a.75.75 0 0 0 0-1.5H8.75Zm0 6a.75.75 0 0 0 0 1.5h11.5a.75.75 0 0 0 0-1.5H8.75Zm0 6a.75.75 0 0 0 0 1.5h11.5a.75.75 0 0 0 0-1.5H8.75ZM5.5 15.75c0-.704-.271-1.286-.72-1.686a2.302 2.302 0 0 0-1.53-.564c-.535 0-1.094.178-1.53.565-.449.399-.72.982-.72 1.685a.75.75 0 0 0 1.5 0c0-.296.104-.464.217-.564A.805.805 0 0 1 3.25 15c.215 0 .406.072.533.185.113.101.217.268.217.565 0 .332-.069.48-.21.657-.092.113-.216.24-.403.419l-.147.14c-.152.144-.33.313-.52.504l-1.5 1.5a.75.75 0 0 0-.22.53v.25c0 .414.336.75.75.75H5A.75.75 0 0 0 5 19H3.31l.47-.47c.176-.176.333-.324.48-.465l.165-.156a5.98 5.98 0 0 0 .536-.566c.358-.447.539-.925.539-1.593Z\"},\"child\":[]}]})(props);\n};\nexport function GoListUnordered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 5.5h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm0 6h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm0 6h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5ZM5 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM4 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm0 12a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"},\"child\":[]}]})(props);\n};\nexport function GoLocation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 3.429h.001c3.905 3.905 3.905 10.237 0 14.142l-5.403 5.403a2.36 2.36 0 0 1-3.336 0l-5.375-5.375-.028-.028c-3.905-3.905-3.905-10.237 0-14.142 3.904-3.905 10.236-3.905 14.141 0ZM5.99 4.489v.001a8.5 8.5 0 0 0 0 12.02l.023.024.002.002 5.378 5.378a.859.859 0 0 0 1.214 0l5.403-5.404a8.5 8.5 0 0 0-.043-11.977A8.5 8.5 0 0 0 5.99 4.489Z\"},\"child\":[]}]})(props);\n};\nexport function GoLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9V7.25C6 3.845 8.503 1 12 1s6 2.845 6 6.25V9h.5a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9Zm-1.5 2.5v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Zm3-4.25V9h9V7.25c0-2.67-1.922-4.75-4.5-4.75-2.578 0-4.5 2.08-4.5 4.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoLog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.197 10a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm-2.382 4a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Zm-1.581 4a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.125 0h15.75a4.11 4.11 0 0 1 2.92 1.205A4.11 4.11 0 0 1 24 4.125c0 1.384-.476 2.794-1.128 4.16-.652 1.365-1.515 2.757-2.352 4.104l-.008.013c-.849 1.368-1.669 2.691-2.28 3.97-.614 1.283-.982 2.45-.982 3.503a2.625 2.625 0 1 0 4.083-2.183.75.75 0 1 1 .834-1.247A4.126 4.126 0 0 1 19.875 24H4.5a4.125 4.125 0 0 1-4.125-4.125c0-2.234 1.258-4.656 2.59-6.902.348-.586.702-1.162 1.05-1.728.8-1.304 1.567-2.553 2.144-3.738H3.39c-.823 0-1.886-.193-2.567-1.035A3.647 3.647 0 0 1 0 4.125 4.125 4.125 0 0 1 4.125 0ZM15.75 19.875c0-1.38.476-2.786 1.128-4.15.649-1.358 1.509-2.743 2.343-4.086l.017-.028c.849-1.367 1.669-2.692 2.28-3.972.614-1.285.982-2.457.982-3.514A2.615 2.615 0 0 0 19.875 1.5a2.625 2.625 0 0 0-2.625 2.625c0 .865.421 1.509 1.167 2.009A.75.75 0 0 1 18 7.507H7.812c-.65 1.483-1.624 3.069-2.577 4.619-.334.544-.666 1.083-.98 1.612-1.355 2.287-2.38 4.371-2.38 6.137A2.625 2.625 0 0 0 4.5 22.5h12.193a4.108 4.108 0 0 1-.943-2.625ZM1.5 4.125c-.01.511.163 1.008.487 1.403.254.313.74.479 1.402.479h12.86a3.648 3.648 0 0 1-.499-1.882 4.11 4.11 0 0 1 .943-2.625H4.125A2.625 2.625 0 0 0 1.5 4.125Z\"},\"child\":[]}]})(props);\n};\nexport function GoMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 18.75v-14C0 3.784.784 3 1.75 3ZM1.5 7.412V18.75c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V7.412l-9.52 6.433c-.592.4-1.368.4-1.96 0Zm0-2.662v.852l10.36 7a.25.25 0 0 0 .28 0l10.36-7V4.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoMegaphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 1.75v14.5a.75.75 0 0 1-.399.662c-.384.204-.783-.035-1.139-.248l-.003-.002c-.09-.054-.177-.107-.261-.15a15.53 15.53 0 0 0-2-.849c-1.738-.607-4.321-1.223-7.703-1.251a.833.833 0 0 1 .005.088c0 2.279.494 4.279.906 5.547.368 1.131-.438 2.453-1.732 2.453H7.661c-.696 0-1.36-.42-1.6-1.129C5.684 20.255 5 17.811 5 14.75v-.457A5.5 5.5 0 0 1 6.5 3.5h3.75c3.505 0 6.175-.61 7.955-1.21a15.88 15.88 0 0 0 2.002-.82 9.21 9.21 0 0 0 .49-.262c.048-.028.095-.055.142-.085A.751.751 0 0 1 22 1.75ZM10.5 12.912c3.564.029 6.313.678 8.193 1.335.737.258 1.34.517 1.807.74V2.993c-.467.216-1.073.467-1.815.718-1.878.634-4.624 1.26-8.185 1.288ZM6.5 5a4 4 0 0 0 0 8H9V5Zm0 9.75c0 2.847.638 5.123.982 6.141.018.051.074.109.179.109h2.013c.087 0 .179-.043.249-.147a.396.396 0 0 0 .057-.343C9.537 19.148 9 16.986 9 14.5H6.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoMention (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.226 7.25c-2.623-4.542-8.432-6.098-12.974-3.475-4.543 2.622-6.099 8.431-3.477 12.974 2.623 4.542 8.431 6.099 12.974 3.477a.75.75 0 0 1 .75 1.299c-5.26 3.037-11.987 1.235-15.024-4.026C-.562 12.24 1.24 5.512 6.501 2.475 11.76-.562 18.488 1.24 21.525 6.501a10.959 10.959 0 0 1 1.455 4.826c.013.056.02.113.02.173v2.25a3.5 3.5 0 0 1-6.623 1.581 5.5 5.5 0 1 1 1.112-3.682.802.802 0 0 1 .011.129v1.972a2 2 0 1 0 4 0v-1.766a9.456 9.456 0 0 0-1.274-4.733ZM16 12a4 4 0 1 0-8 0 4 4 0 0 0 8 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoMilestone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.75 1a.75.75 0 0 1 .75.75V4h6.532c.42 0 .826.15 1.143.425l3.187 2.75a1.75 1.75 0 0 1 0 2.65l-3.187 2.75a1.75 1.75 0 0 1-1.143.425H12.5v9.25a.75.75 0 0 1-1.5 0V13H3.75A1.75 1.75 0 0 1 2 11.25v-5.5C2 4.783 2.784 4 3.75 4H11V1.75a.75.75 0 0 1 .75-.75Zm7.282 4.5H3.75a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h15.282c.06 0 .118-.021.163-.06l3.188-2.75a.248.248 0 0 0 0-.38l-3.188-2.75a.249.249 0 0 0-.163-.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoMirror (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.553 6.064A.75.75 0 0 1 22 6.75v10.5a.75.75 0 0 1-1.256.554l-5.75-5.25a.748.748 0 0 1 0-1.108l5.75-5.25a.75.75 0 0 1 .809-.132ZM2.447 17.936A.75.75 0 0 1 2 17.25V6.75a.75.75 0 0 1 1.256-.554l5.75 5.25a.748.748 0 0 1 0 1.108l-5.75 5.25a.75.75 0 0 1-.809.132ZM7.387 12 3.5 8.45v7.1L7.388 12Zm9.226 0 3.887 3.55v-7.1L16.612 12ZM12 2.75a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0 4a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0 8a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0 4a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Zm0-8a.75.75 0 0 1 .75.75v1a.75.75 0 0 1-1.5 0v-1a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.768 3.96v.001l-.002-.005a9.08 9.08 0 0 0-.218-.779c-.13-.394.21-.8.602-.67.29.096.575.205.855.328l.01.005A10.002 10.002 0 0 1 12 22a10.002 10.002 0 0 1-9.162-5.985l-.004-.01a9.722 9.722 0 0 1-.329-.855c-.13-.392.277-.732.67-.602.257.084.517.157.78.218l.004.002A9 9 0 0 0 14.999 6a9.09 9.09 0 0 0-.231-2.04ZM16.5 6c0 5.799-4.701 10.5-10.5 10.5-.426 0-.847-.026-1.26-.075A8.5 8.5 0 1 0 16.425 4.74c.05.413.075.833.075 1.259Z\"},\"child\":[]}]})(props);\n};\nexport function GoMortarBoard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.292 2.06v-.001l11.25 4.75a.749.749 0 0 1 0 1.382L19 10.108V15a.75.75 0 0 1-.11.391h-.001a2.84 2.84 0 0 1-.392.482c-.249.256-.625.58-1.163.896-1.08.638-2.776 1.23-5.334 1.23-.673 0-1.286-.041-1.846-.113a.75.75 0 0 1 .192-1.487c.492.063 1.042.1 1.654.1 2.317 0 3.746-.533 4.572-1.021.31-.178.596-.397.849-.65l.079-.085V10.74l-5.208 2.2a.75.75 0 0 1-.584 0L5.75 10.424v3.17c.502.129.96.391 1.327.758.579.578.923 1.41.923 2.428v4.5a.761.761 0 0 1-.345.634 2.157 2.157 0 0 1-.21.117 3.923 3.923 0 0 1-.52.213A6.121 6.121 0 0 1 5 22.532a6.092 6.092 0 0 1-1.925-.288 4.065 4.065 0 0 1-.52-.213 1.816 1.816 0 0 1-.22-.124.757.757 0 0 1-.335-.624v-4.5c0-1.02.344-1.85.923-2.43a2.904 2.904 0 0 1 1.327-.757V9.793L.458 8.19a.75.75 0 0 1 0-1.38l11.25-4.75a.75.75 0 0 1 .584 0ZM12 11.436 21.322 7.5 12 3.564 2.678 7.5ZM5 15c-.377 0-.745.141-1.017.413-.265.265-.483.7-.483 1.368v4.022c.299.105.797.228 1.5.228s1.201-.123 1.5-.228V16.78c0-.669-.218-1.103-.483-1.368A1.433 1.433 0 0 0 5 15Z\"},\"child\":[]}]})(props);\n};\nexport function GoMoveToBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21.25a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1-.75-.75Zm.97-11.28a.749.749 0 0 1 1.06 0L11 14.939V2.75a.75.75 0 0 1 1.5 0v12.189l4.97-4.969a.749.749 0 1 1 1.06 1.06l-6.25 6.25a.749.749 0 0 1-1.06 0l-6.25-6.25a.749.749 0 0 1 0-1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoMoveToEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.22 5.22a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 0 1 0 1.06l-6.25 6.25a.749.749 0 1 1-1.06-1.06l4.969-4.97H1.75a.75.75 0 0 1 0-1.5h14.439L11.22 6.28a.749.749 0 0 1 0-1.06Zm10.03-1.47a.75.75 0 0 1 .75.75v15a.75.75 0 0 1-1.5 0v-15a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoMoveToStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.78 18.78a.749.749 0 0 1-1.06 0l-6.25-6.25a.749.749 0 0 1 0-1.06l6.25-6.25a.749.749 0 1 1 1.06 1.06l-4.969 4.97H22.25a.75.75 0 0 1 0 1.5H7.811l4.969 4.97a.749.749 0 0 1 0 1.06ZM2.75 3.75a.75.75 0 0 1 .75.75v15a.75.75 0 0 1-1.5 0v-15a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoMoveToTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 21.25a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1-.75-.75ZM5.22 9.53a.749.749 0 0 1 0-1.06l6.25-6.25a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 1 1-1.06 1.06l-4.97-4.969V16.75a.75.75 0 0 1-1.5 0V4.561L6.28 9.53a.749.749 0 0 1-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoMultiSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 11.5h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm0 6h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1 0-1.5Zm-5-12h10a.75.75 0 0 1 0 1.5h-10a.75.75 0 0 1 0-1.5ZM5 12a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-1 7a1 1 0 1 1 0-2 1 1 0 0 1 0 2ZM19.309 7.918l-2.245-2.501A.25.25 0 0 1 17.25 5h4.49a.25.25 0 0 1 .185.417l-2.244 2.5a.25.25 0 0 1-.372 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.75v16.5a.75.75 0 0 1-1.255.555L5.46 16H2.75A1.75 1.75 0 0 1 1 14.25v-4.5C1 8.784 1.784 8 2.75 8h2.71l5.285-4.805A.75.75 0 0 1 12 3.75ZM6.255 9.305a.748.748 0 0 1-.505.195h-3a.25.25 0 0 0-.25.25v4.5c0 .138.112.25.25.25h3c.187 0 .367.069.505.195l4.245 3.86V5.445ZM16.28 8.22a.75.75 0 1 0-1.06 1.06L17.94 12l-2.72 2.72a.75.75 0 1 0 1.06 1.06L19 13.06l2.72 2.72a.75.75 0 1 0 1.06-1.06L20.06 12l2.72-2.72a.75.75 0 0 0-1.06-1.06L19 10.94l-2.72-2.72Z\"},\"child\":[]}]})(props);\n};\nexport function GoNoEntry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm15.75.75H5.75a.75.75 0 0 1 0-1.5h12.5a.75.75 0 0 1 0 1.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoNorthStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 1.25a.75.75 0 0 0-1.5 0v8.69L6.447 5.385a.75.75 0 1 0-1.061 1.06L9.94 11H1.25a.75.75 0 0 0 0 1.5h8.69l-4.554 4.553a.75.75 0 0 0 1.06 1.061L11 13.561v8.689a.75.75 0 0 0 1.5 0v-8.69l4.553 4.554a.75.75 0 0 0 1.061-1.06L13.561 12.5h8.689a.75.75 0 0 0 0-1.5h-8.69l4.554-4.553a.75.75 0 1 0-1.06-1.061L12.5 9.939V1.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8.75A.75.75 0 0 1 5.75 8h11.5a.75.75 0 0 1 0 1.5H5.75A.75.75 0 0 1 5 8.75Zm0 4a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoNumber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.003 7.754a.75.75 0 0 1 .75-.75h5.232a.75.75 0 0 1 .53 1.28l-2.776 2.777c.55.097 1.057.253 1.492.483.905.477 1.504 1.284 1.504 2.418 0 .966-.471 1.75-1.172 2.27-.687.511-1.587.77-2.521.77-1.367 0-2.274-.528-2.667-.756a.75.75 0 0 1 .755-1.297c.331.193.953.553 1.912.553.673 0 1.243-.188 1.627-.473.37-.275.566-.635.566-1.067 0-.5-.219-.836-.703-1.091-.538-.284-1.375-.443-2.471-.443a.75.75 0 0 1-.53-1.28l2.643-2.644h-3.421a.75.75 0 0 1-.75-.75ZM7.88 15.215a1.4 1.4 0 0 0-1.446.83.75.75 0 0 1-1.37-.61 2.899 2.899 0 0 1 2.986-1.71c.589.06 1.139.323 1.557.743.434.446.685 1.058.685 1.778 0 1.641-1.254 2.437-2.12 2.986-.538.341-1.18.694-1.495 1.273H9.75a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75c0-1.799 1.337-2.63 2.243-3.21 1.032-.659 1.55-1.031 1.55-1.8 0-.355-.116-.584-.26-.732a1.071 1.071 0 0 0-.652-.298Zm.234-13.121a.75.75 0 0 1 .386.656V9h1.252a.75.75 0 0 1 0 1.5H5.75a.75.75 0 0 1 0-1.5H7V4.103l-.853.533a.749.749 0 1 1-.795-1.272l2-1.25a.749.749 0 0 1 .762-.02Z\"},\"child\":[]}]})(props);\n};\nexport function GoOrganization (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 12a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM5.5 9.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM6.25 5a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM9 12.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Zm.75-4.25a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5ZM9 5.75A.75.75 0 0 1 9.75 5h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 9 5.75ZM13.25 12a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Zm-.75-2.75a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75ZM13.25 5a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20V3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v17c0 .173-.022.34-.063.5H20a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.2-.4l-.5-.375a.75.75 0 0 1 .9-1.2l.5.375c.504.378.8.97.8 1.6v8a2 2 0 0 1-2 2h-3.562a.767.767 0 0 1-.166-.018c-.089.012-.18.018-.272.018h-3.75a.75.75 0 0 1-.75-.75V19h-3v2.25a.75.75 0 0 1-.75.75H4a2 2 0 0 1-2-2Zm2 .5h3v-2.25a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 .75.75v2.25h3a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H4a.5.5 0 0 0-.5.5v17a.5.5 0 0 0 .5.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoPackage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\"},\"child\":[]}]})(props);\n};\nexport function GoPackageDependencies (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.126.64a1.748 1.748 0 0 1 1.75 0l8.25 4.762c.103.06.199.128.286.206a.75.75 0 0 1 .554.96c.023.113.035.23.035.35v3.332a.75.75 0 0 1-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 0 1-1.125.65l-8.75-5.052a1.75 1.75 0 0 1-.875-1.515V6.917c0-.119.012-.236.035-.35a.749.749 0 0 1 .554-.96c.088-.078.184-.146.286-.205L9.126.639Zm.875 10.173v.001l7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0L2.251 6.34Zm-8.5-3.175v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m16.617 17.5 2.895-2.702a.75.75 0 0 0-1.024-1.096l-4.285 4a.75.75 0 0 0 0 1.096l4.285 4a.75.75 0 1 0 1.024-1.096L16.617 19h6.633a.75.75 0 0 0 0-1.5h-6.633Z\"},\"child\":[]}]})(props);\n};\nexport function GoPackageDependents (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.126.64a1.748 1.748 0 0 1 1.75 0l8.25 4.762c.103.06.199.128.286.206a.75.75 0 0 1 .554.96c.023.113.035.23.035.35v3.332a.75.75 0 0 1-1.5 0V7.64l-7.75 4.474V22.36a.75.75 0 0 1-1.125.65l-8.75-5.052a1.75 1.75 0 0 1-.875-1.515V6.917c0-.119.012-.236.035-.35a.749.749 0 0 1 .554-.96c.088-.078.184-.146.286-.205L9.126.639Zm.875 10.173v.001l7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0L2.251 6.34Zm-8.5-3.175v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m21.347 17.5-2.894-2.702a.75.75 0 1 1 1.023-1.096l4.286 4a.75.75 0 0 1 0 1.096l-4.286 4a.75.75 0 1 1-1.023-1.096L21.347 19h-6.633a.75.75 0 0 1 0-1.5h6.633Z\"},\"child\":[]}]})(props);\n};\nexport function GoPaperAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.513 1.96a1.374 1.374 0 0 1 1.499-.21l19.335 9.215a1.147 1.147 0 0 1 0 2.07L3.012 22.25a1.374 1.374 0 0 1-1.947-1.46L2.49 12 1.065 3.21a1.375 1.375 0 0 1 .448-1.25Zm2.375 10.79-1.304 8.042L21.031 12 2.584 3.208l1.304 8.042h7.362a.75.75 0 0 1 0 1.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.187 3.588a2.75 2.75 0 0 0-3.889 0L5.575 13.31a4.5 4.5 0 0 0 6.364 6.364l8.662-8.662a.75.75 0 0 1 1.061 1.06L13 20.735a6 6 0 0 1-8.485-8.485l9.723-9.723a4.247 4.247 0 0 1 4.124-1.139 4.247 4.247 0 0 1 3.025 3.025 4.247 4.247 0 0 1-1.139 4.124l-9.193 9.193a2.64 2.64 0 0 1-1.858.779 2.626 2.626 0 0 1-1.854-.779c-.196-.196-.338-.47-.43-.726a2.822 2.822 0 0 1-.168-.946c0-.7.284-1.373.775-1.864l8.132-8.131a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-8.131 8.132a1.148 1.148 0 0 0-.336.803c.003.204.053.405.146.587.01.018.018.028.02.032.22.215.501.332.786.332.29 0 .58-.121.798-.34l9.192-9.192a2.75 2.75 0 0 0 0-3.89Z\"},\"child\":[]}]})(props);\n};\nexport function GoPasskeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.496 2a5.25 5.25 0 0 0-2.519 9.857A9.006 9.006 0 0 0 .5 20.228a.751.751 0 0 0 .728.772h5.257c3.338.001 6.677.002 10.015 0a.5.5 0 0 0 .5-.5v-4.669a.95.95 0 0 0-.171-.551 9.02 9.02 0 0 0-4.814-3.423A5.25 5.25 0 0 0 9.496 2Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.625 10.313c0 1.31-.672 2.464-1.691 3.134a.398.398 0 0 0-.184.33v.886a.372.372 0 0 1-.11.265l-.534.534a.188.188 0 0 0 0 .265l.534.534c.071.07.11.166.11.265v.347a.374.374 0 0 1-.11.265l-.534.534a.188.188 0 0 0 0 .265l.534.534a.37.37 0 0 1 .11.265v.431a.379.379 0 0 1-.097.253l-1.2 1.319a.781.781 0 0 1-1.156 0l-1.2-1.319a.379.379 0 0 1-.097-.253v-5.39a.398.398 0 0 0-.184-.33 3.75 3.75 0 1 1 5.809-3.134ZM21 9.75a1.125 1.125 0 1 0-2.25 0 1.125 1.125 0 0 0 2.25 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoPaste (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.962 2.513a.75.75 0 0 1-.475.949l-.816.272a.25.25 0 0 0-.171.237V21.25c0 .138.112.25.25.25h14.5a.25.25 0 0 0 .25-.25V3.97a.25.25 0 0 0-.17-.236l-.817-.272a.75.75 0 0 1 .474-1.424l.816.273A1.751 1.751 0 0 1 21 3.97v17.28A1.75 1.75 0 0 1 19.25 23H4.75A1.75 1.75 0 0 1 3 21.25V3.97a1.75 1.75 0 0 1 1.197-1.66l.816-.272a.75.75 0 0 1 .949.475Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.75C7 .784 7.784 0 8.75 0h6.5C16.216 0 17 .784 17 1.75v1.5A1.75 1.75 0 0 1 15.25 5h-6.5A1.75 1.75 0 0 1 7 3.25Zm1.75-.25a.25.25 0 0 0-.25.25v1.5c0 .138.112.25.25.25h6.5a.25.25 0 0 0 .25-.25v-1.5a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.263 2.177a1.75 1.75 0 0 1 2.474 0l2.586 2.586a1.75 1.75 0 0 1 0 2.474L19.53 10.03l-.012.013L8.69 20.378a1.753 1.753 0 0 1-.699.409l-5.523 1.68a.748.748 0 0 1-.747-.188.748.748 0 0 1-.188-.747l1.673-5.5a1.75 1.75 0 0 1 .466-.756L14.476 4.963ZM4.708 16.361a.26.26 0 0 0-.067.108l-1.264 4.154 4.177-1.271a.253.253 0 0 0 .1-.059l10.273-9.806-2.94-2.939-10.279 9.813ZM19 8.44l2.263-2.262a.25.25 0 0 0 0-.354l-2.586-2.586a.25.25 0 0 0-.354 0L16.061 5.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoPeople (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 8a5.5 5.5 0 1 1 8.596 4.547 9.005 9.005 0 0 1 5.9 8.18.751.751 0 0 1-1.5.045 7.5 7.5 0 0 0-14.993 0 .75.75 0 0 1-1.499-.044 9.005 9.005 0 0 1 5.9-8.181A5.496 5.496 0 0 1 3.5 8ZM9 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm8.29 4c-.148 0-.292.01-.434.03a.75.75 0 1 1-.212-1.484 4.53 4.53 0 0 1 3.38 8.097 6.69 6.69 0 0 1 3.956 6.107.75.75 0 0 1-1.5 0 5.193 5.193 0 0 0-3.696-4.972l-.534-.16v-1.676l.41-.209A3.03 3.03 0 0 0 17.29 8Z\"},\"child\":[]}]})(props);\n};\nexport function GoPerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.5a5.5 5.5 0 0 1 3.096 10.047 9.005 9.005 0 0 1 5.9 8.181.75.75 0 1 1-1.499.044 7.5 7.5 0 0 0-14.993 0 .75.75 0 0 1-1.5-.045 9.005 9.005 0 0 1 5.9-8.18A5.5 5.5 0 0 1 12 2.5ZM8 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoPersonAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9.5a5 5 0 1 1 7.916 4.062 7.973 7.973 0 0 1 5.018 7.166.75.75 0 1 1-1.499.044 6.469 6.469 0 0 0-12.932 0 .75.75 0 0 1-1.499-.044 7.972 7.972 0 0 1 5.059-7.181A4.994 4.994 0 0 1 4 9.5ZM9 6a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm10.25-5a.75.75 0 0 1 .75.75V4h2.25a.75.75 0 0 1 0 1.5H20v2.25a.75.75 0 0 1-1.5 0V5.5h-2.25a.75.75 0 0 1 0-1.5h2.25V1.75a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.5a5.25 5.25 0 0 0-2.519 9.857 9.005 9.005 0 0 0-6.477 8.37.75.75 0 0 0 .727.773H20.27a.75.75 0 0 0 .727-.772 9.005 9.005 0 0 0-6.477-8.37A5.25 5.25 0 0 0 12 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.886 1.553a1.75 1.75 0 0 1 2.869.604l.633 1.629a5.667 5.667 0 0 0 3.725 3.395l3.959 1.131a1.749 1.749 0 0 1 .757 2.92L16.06 15l5.594 5.595a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L15 16.061l-3.768 3.768a1.749 1.749 0 0 1-2.92-.757l-1.131-3.96a5.665 5.665 0 0 0-3.395-3.724l-1.63-.633a1.75 1.75 0 0 1-.603-2.869Zm6.589 12.912 4.293-4.294a.25.25 0 0 0-.108-.417L14.7 8.623A7.165 7.165 0 0 1 9.99 4.33L9.357 2.7a.25.25 0 0 0-.41-.086L2.614 8.946a.25.25 0 0 0 .086.41l1.63.634a7.167 7.167 0 0 1 4.294 4.71l1.13 3.96a.25.25 0 0 0 .417.108l4.294-4.293Z\"},\"child\":[]}]})(props);\n};\nexport function GoPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 15.584V8.416a.5.5 0 0 1 .77-.42l5.576 3.583a.5.5 0 0 1 0 .842l-5.576 3.584a.5.5 0 0 1-.77-.42Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm11-9.5A9.5 9.5 0 0 0 2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11.5H2.938c-.794 0-1.438.644-1.438 1.437v8.313a.75.75 0 0 1-1.5 0v-8.312A2.939 2.939 0 0 1 2.937 10H7V6.151c0-.897.678-1.648 1.57-1.74l6.055-.626 1.006-1.174A1.752 1.752 0 0 1 16.96 2h1.29c.966 0 1.75.784 1.75 1.75V6h3.25a.75.75 0 0 1 0 1.5H20V14h3.25a.75.75 0 0 1 0 1.5H20v2.25a1.75 1.75 0 0 1-1.75 1.75h-1.29a1.75 1.75 0 0 1-1.329-.611l-1.006-1.174-6.055-.627A1.749 1.749 0 0 1 7 15.348Zm9.77-7.913v.001l-1.201 1.4a.75.75 0 0 1-.492.258l-6.353.657a.25.25 0 0 0-.224.249v9.196a.25.25 0 0 0 .224.249l6.353.657c.191.02.368.112.493.258l1.2 1.401a.252.252 0 0 0 .19.087h1.29a.25.25 0 0 0 .25-.25v-14a.25.25 0 0 0-.25-.25h-1.29a.252.252 0 0 0-.19.087Z\"},\"child\":[]}]})(props);\n};\nexport function GoPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.75 4.5a.75.75 0 0 1 .75.75V11h5.75a.75.75 0 0 1 0 1.5H12.5v5.75a.75.75 0 0 1-1.5 0V12.5H5.25a.75.75 0 0 1 0-1.5H11V5.25a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.75 7.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoProject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.25 6a.75.75 0 0 0-.75.75v7.5a.75.75 0 0 0 1.5 0v-7.5A.75.75 0 0 0 7.25 6ZM12 6a.75.75 0 0 0-.75.75v4.5a.75.75 0 0 0 1.5 0v-4.5A.75.75 0 0 0 12 6Zm4 .75a.75.75 0 0 1 1.5 0v9.5a.75.75 0 0 1-1.5 0v-9.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H3.75a.25.25 0 0 0-.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoProjectRoadmap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 7a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5ZM7 11.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75ZM9.75 15a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoProjectSymlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H9.75a.75.75 0 0 1 0-1.5h10.5a.25.25 0 0 0 .25-.25V9h-17v3A.75.75 0 0 1 2 12ZM9 7.5h11.5V3.75a.25.25 0 0 0-.25-.25H9Zm-5.5 0h4v-4H3.75a.25.25 0 0 0-.25.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.308 14.5-2.104-2.236a.75.75 0 1 1 1.092-1.028l3.294 3.5a.75.75 0 0 1 0 1.028l-3.294 3.5a.75.75 0 1 1-1.092-1.028L9.308 16H6.09a2.59 2.59 0 0 0-2.59 2.59v2.66a.75.75 0 0 1-1.5 0v-2.66a4.09 4.09 0 0 1 4.09-4.09h3.218Z\"},\"child\":[]}]})(props);\n};\nexport function GoProjectTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 3.5a.25.25 0 0 0-.25.25v2.062a.75.75 0 1 1-1.5 0V3.75C2 2.783 2.783 2 3.75 2h2.062a.75.75 0 1 1 0 1.5Zm13.688-.75a.75.75 0 0 1 .75-.75h2.062c.966 0 1.75.783 1.75 1.75v2.062a.75.75 0 1 1-1.5 0V3.75a.25.25 0 0 0-.25-.25h-2.062a.75.75 0 0 1-.75-.75ZM2.75 17.438a.75.75 0 0 1 .75.75v2.062c0 .138.112.25.25.25h2.062a.75.75 0 1 1 0 1.5H3.75A1.75 1.75 0 0 1 2 20.25v-2.062a.75.75 0 0 1 .75-.75Zm18.5 0a.75.75 0 0 1 .75.75v2.062A1.75 1.75 0 0 1 20.25 22h-2.062a.75.75 0 1 1 0-1.5h2.062a.25.25 0 0 0 .25-.25v-2.062a.75.75 0 0 1 .75-.75Zm-18.5-8.25a.75.75 0 0 1 .75.75v4.124a.75.75 0 1 1-1.5 0V9.938a.75.75 0 0 1 .75-.75ZM9.188 2.75a.75.75 0 0 1 .75-.75h4.124a.75.75 0 1 1 0 1.5H9.938a.75.75 0 0 1-.75-.75Zm0 18.5a.75.75 0 0 1 .75-.75h4.124a.75.75 0 1 1 0 1.5H9.938a.75.75 0 0 1-.75-.75ZM21.25 9.188a.75.75 0 0 1 .75.75v4.124a.75.75 0 1 1-1.5 0V9.938a.75.75 0 0 1 .75-.75ZM3.75 8.25a.75.75 0 0 1 .75-.75h2a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1-.75-.75Zm5.5 0A.75.75 0 0 1 10 7.5h2A.75.75 0 0 1 12 9h-2a.75.75 0 0 1-.75-.75Zm-1-4.5A.75.75 0 0 1 9 4.5v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm0 5.5A.75.75 0 0 1 9 10v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75Zm0 4.75a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4a.75.75 0 0 1 .75-.75ZM14 8.25a.75.75 0 0 1 .75-.75h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoPulse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.002 2.5a.75.75 0 0 1 .691.464l6.302 15.305 2.56-6.301a.75.75 0 0 1 .695-.468h4a.75.75 0 0 1 0 1.5h-3.495l-3.06 7.532a.75.75 0 0 1-1.389.004L8.997 5.21l-3.054 7.329A.75.75 0 0 1 5.25 13H.75a.75.75 0 0 1 0-1.5h4l3.558-8.538a.75.75 0 0 1 .694-.462Z\"},\"child\":[]}]})(props);\n};\nexport function GoQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 8.265a1.45 1.45 0 0 0-.487.57.75.75 0 0 1-1.341-.67c.2-.402.513-.826.997-1.148C10.627 6.69 11.244 6.5 12 6.5c.658 0 1.369.195 1.934.619a2.45 2.45 0 0 1 1.004 2.006c0 1.033-.513 1.72-1.027 2.215-.19.183-.399.358-.579.508l-.147.123a4.329 4.329 0 0 0-.435.409v1.37a.75.75 0 1 1-1.5 0v-1.473c0-.237.067-.504.247-.736.22-.28.486-.517.718-.714l.183-.153.001-.001c.172-.143.324-.27.47-.412.368-.355.569-.676.569-1.136a.953.953 0 0 0-.404-.806C12.766 8.118 12.384 8 12 8c-.494 0-.814.121-1.03.265ZM13 17a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6.25a.75.75 0 0 1 .75-.75h13.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.25Zm5 6.063a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1-.75-.75Zm0 5.937a.75.75 0 0 1 .75-.75h11.5a.75.75 0 0 1 0 1.5H8.75a.75.75 0 0 1-.75-.75ZM3.75 11a.75.75 0 0 1 .75.75v7a.75.75 0 0 1-1.5 0v-7a.75.75 0 0 1 .75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoRead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.89 1.767a2.252 2.252 0 0 1 2.22 0l9.75 5.525A2.25 2.25 0 0 1 24 9.249v9.501A2.25 2.25 0 0 1 21.75 21H2.25A2.25 2.25 0 0 1 0 18.75v-9.5c0-.81.435-1.558 1.14-1.958Zm1.48 1.305a.75.75 0 0 0-.74 0l-9.316 5.28 7.41 4.233a3.75 3.75 0 0 1 4.553 0l7.41-4.234-9.317-5.28ZM20.65 19.5l-7.26-5.704a2.25 2.25 0 0 0-2.78 0L3.35 19.5Zm1.85-9.886-6.95 3.971 6.663 5.236c.089.07.161.159.21.26a.745.745 0 0 0 .077-.331ZM8.45 13.585 1.5 9.614v9.136c0 .119.028.23.076.33a.744.744 0 0 1 .21-.259Z\"},\"child\":[]}]})(props);\n};\nexport function GoRelFilePath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.564 4.42a.75.75 0 0 0-1.378-.59l-6.75 15.75a.75.75 0 0 0 1.378.59l6.75-15.75ZM7 18.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.03a.75.75 0 1 0-1.06-1.06l-6.25 6.25a.75.75 0 0 0 0 1.06l6.25 6.25a.75.75 0 1 0 1.06-1.06L5.56 11.5H17a3.248 3.248 0 0 1 3.25 3.248v4.502a.75.75 0 0 0 1.5 0v-4.502A4.748 4.748 0 0 0 17 10H5.56l4.97-4.97Z\"},\"child\":[]}]})(props);\n};\nexport function GoRepo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.75A2.75 2.75 0 0 1 5.75 0h14.5a.75.75 0 0 1 .75.75v20.5a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h5.25v-4H6A1.5 1.5 0 0 0 4.5 18v.75c0 .716.43 1.334 1.05 1.605a.75.75 0 0 1-.6 1.374A3.251 3.251 0 0 1 3 18.75ZM19.5 1.5H5.75c-.69 0-1.25.56-1.25 1.25v12.651A2.989 2.989 0 0 1 6 15h13.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18.25a.25.25 0 0 1 .25-.25h5a.25.25 0 0 1 .25.25v5.01a.25.25 0 0 1-.397.201l-2.206-1.604a.25.25 0 0 0-.294 0L7.397 23.46a.25.25 0 0 1-.397-.2v-5.01Z\"},\"child\":[]}]})(props);\n};\nexport function GoRepoForked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 19.25a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM15 4.75a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0Zm-12.5 0a3.25 3.25 0 1 1 6.5 0 3.25 3.25 0 0 1-6.5 0ZM5.75 6.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 5.75 6.5ZM12 21a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 12 21Zm6.25-14.5a1.75 1.75 0 1 0-.001-3.501A1.75 1.75 0 0 0 18.25 6.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7.75v1A2.25 2.25 0 0 0 8.75 11h6.5a2.25 2.25 0 0 0 2.25-2.25v-1H19v1a3.75 3.75 0 0 1-3.75 3.75h-6.5A3.75 3.75 0 0 1 5 8.75v-1Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.25 16.25v-5h1.5v5h-1.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoRepoLocked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2.75A2.75 2.75 0 0 1 4.75 0h14.5a.75.75 0 0 1 .75.75v8a.75.75 0 0 1-1.5 0V1.5H4.75c-.69 0-1.25.56-1.25 1.25v12.651A2.987 2.987 0 0 1 5 15h6.25a.75.75 0 0 1 0 1.5H5A1.5 1.5 0 0 0 3.5 18v1.25c0 .69.56 1.25 1.25 1.25h6a.75.75 0 0 1 0 1.5h-6A2.75 2.75 0 0 1 2 19.25V2.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14.5a3.5 3.5 0 1 1 7 0V16h.25c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0 1 22.25 24h-7.5A1.75 1.75 0 0 1 13 22.25v-4.5c0-.966.784-1.75 1.75-1.75H15Zm3.5-2a2 2 0 0 0-2 2V16h4v-1.5a2 2 0 0 0-2-2Z\"},\"child\":[]}]})(props);\n};\nexport function GoRepoPush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 0A2.75 2.75 0 0 0 2 2.75v16.5A2.75 2.75 0 0 0 4.75 22h11a.75.75 0 0 0 0-1.5h-11c-.69 0-1.25-.56-1.25-1.25V18A1.5 1.5 0 0 1 5 16.5h7.25a.75.75 0 0 0 0-1.5H5c-.546 0-1.059.146-1.5.401V2.75c0-.69.56-1.25 1.25-1.25H18.5v7a.75.75 0 0 0 1.5 0V.75a.75.75 0 0 0-.75-.75H4.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m20 13.903 2.202 2.359a.75.75 0 0 0 1.096-1.024l-3.5-3.75a.75.75 0 0 0-1.096 0l-3.5 3.75a.75.75 0 1 0 1.096 1.024l2.202-2.36v9.348a.75.75 0 0 0 1.5 0v-9.347Z\"},\"child\":[]}]})(props);\n};\nexport function GoRepoTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75 0A2.75 2.75 0 0 0 3 2.75v1a.75.75 0 0 0 1.5 0v-1c0-.69.56-1.25 1.25-1.25h1a.75.75 0 0 0 0-1.5h-1Zm4 0a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm7.5 0a.75.75 0 0 0 0 1.5h2.25v2.25a.75.75 0 0 0 1.5 0v-3a.75.75 0 0 0-.75-.75h-3ZM4.5 6.5a.75.75 0 0 0-1.5 0v3.75a.75.75 0 0 0 1.5 0V6.5Zm16.5 0a.75.75 0 0 0-1.5 0v3.75a.75.75 0 0 0 1.5 0V6.5ZM4.5 13.25a.75.75 0 0 0-1.5 0v5.5a3.25 3.25 0 0 0 1.95 2.98.75.75 0 1 0 .6-1.375A1.75 1.75 0 0 1 4.5 18.75V18A1.5 1.5 0 0 1 6 16.5h.75a.75.75 0 0 0 0-1.5H6c-.546 0-1.059.146-1.5.401V13.25Zm16.5 0a.75.75 0 0 0-1.5 0V15h-2.25a.75.75 0 0 0 0 1.5h2.25v4h-5.25a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 .75-.75v-8ZM9.75 15a.75.75 0 0 0 0 1.5h4.5a.75.75 0 0 0 0-1.5h-4.5Zm-2.353 8.461A.25.25 0 0 1 7 23.26v-5.01a.25.25 0 0 1 .25-.25h5a.25.25 0 0 1 .25.25v5.01a.25.25 0 0 1-.397.201l-2.206-1.604a.25.25 0 0 0-.294 0L7.397 23.46Z\"},\"child\":[]}]})(props);\n};\nexport function GoReport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.586a.25.25 0 0 0-.177.073l-3.5 3.5A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.427-3.427A1.75 1.75 0 0 1 11.164 17h9.586a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25ZM12 6a.75.75 0 0 1 .75.75v4a.75.75 0 0 1-1.5 0v-4A.75.75 0 0 1 12 6Zm0 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"},\"child\":[]}]})(props);\n};\nexport function GoRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.322.75h1.176a1.75 1.75 0 0 1 1.75 1.749v1.177a10.75 10.75 0 0 1-2.925 7.374l-1.228 1.304a23.699 23.699 0 0 1-1.596 1.542v5.038c0 .615-.323 1.184-.85 1.5l-4.514 2.709a.75.75 0 0 1-1.12-.488l-.963-4.572a1.305 1.305 0 0 1-.14-.129L8.04 15.96l-1.994-1.873a1.305 1.305 0 0 1-.129-.14l-4.571-.963a.75.75 0 0 1-.49-1.12l2.71-4.514c.316-.527.885-.85 1.5-.85h5.037a23.668 23.668 0 0 1 1.542-1.594l1.304-1.23A10.753 10.753 0 0 1 20.321.75Zm-6.344 4.018v-.001l-1.304 1.23a22.275 22.275 0 0 0-3.255 3.851l-2.193 3.29 1.859 1.744a.545.545 0 0 1 .034.034l1.743 1.858 3.288-2.192a22.263 22.263 0 0 0 3.854-3.257l1.228-1.303a9.251 9.251 0 0 0 2.517-6.346V2.5a.25.25 0 0 0-.25-.25h-1.177a9.252 9.252 0 0 0-6.344 2.518ZM6.5 21c-1.209 1.209-3.901 1.445-4.743 1.49a.236.236 0 0 1-.18-.067.236.236 0 0 1-.067-.18c.045-.842.281-3.534 1.49-4.743.9-.9 2.6-.9 3.5 0 .9.9.9 2.6 0 3.5Zm-.592-8.588L8.17 9.017c.23-.346.47-.685.717-1.017H5.066a.25.25 0 0 0-.214.121l-2.167 3.612ZM16 15.112c-.333.248-.672.487-1.018.718l-3.393 2.262.678 3.223 3.612-2.167a.25.25 0 0 0 .121-.214ZM17.5 8a1.5 1.5 0 1 1-3.001-.001A1.5 1.5 0 0 1 17.5 8Z\"},\"child\":[]}]})(props);\n};\nexport function GoRows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 3.75v5.5A1.75 1.75 0 0 1 20.25 11H3.75A1.75 1.75 0 0 1 2 9.25v-5.5C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75Zm0 11v5.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25v-5.5c0-.966.784-1.75 1.75-1.75h16.5c.966 0 1.75.784 1.75 1.75ZM20.25 3.5H3.75a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm0 11H3.75a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.25a.75.75 0 0 1 .75-.75C14.053 2.5 22 10.447 22 20.25a.75.75 0 0 1-1.5 0C20.5 11.275 13.225 4 4.25 4a.75.75 0 0 1-.75-.75Zm.75 6.25C10.187 9.5 15 14.313 15 20.25a.75.75 0 0 1-1.5 0A9.25 9.25 0 0 0 4.25 11a.75.75 0 0 1 0-1.5ZM3.5 19a2 2 0 1 1 3.999-.001A2 2 0 0 1 3.5 19Z\"},\"child\":[]}]})(props);\n};\nexport function GoRuby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.873 3.26A.748.748 0 0 1 6.44 3h11.31c.223 0 .434.099.576.27l5 6a.75.75 0 0 1-.028.992l-10.75 11.5a.75.75 0 0 1-1.096 0l-10.75-11.5a.75.75 0 0 1-.02-1.003l5.19-6Zm.91 1.24L2.258 9.73 12 20.153l9.75-10.43L17.399 4.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoScreenFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15a.75.75 0 0 1 .75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 0 1 0 1.5h-3.5A1.75 1.75 0 0 1 3 19.25v-3.5a.75.75 0 0 1 .75-.75Zm16.5 0a.75.75 0 0 1 .75.75v3.5A1.75 1.75 0 0 1 19.25 21h-3.5a.75.75 0 0 1 0-1.5h3.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 .75-.75ZM4.75 4.5a.25.25 0 0 0-.25.25v3.5a.75.75 0 0 1-1.5 0v-3.5C3 3.784 3.784 3 4.75 3h3.5a.75.75 0 0 1 0 1.5ZM15 3.75a.75.75 0 0 1 .75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 0 1-1.5 0v-3.5a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoScreenNormal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.75 3a.75.75 0 0 1 .75.75v3.5c0 .138.112.25.25.25h3.5a.75.75 0 0 1 0 1.5h-3.5A1.75 1.75 0 0 1 15 7.25v-3.5a.75.75 0 0 1 .75-.75Zm-7.5 0a.75.75 0 0 1 .75.75v3.5A1.75 1.75 0 0 1 7.25 9h-3.5a.75.75 0 0 1 0-1.5h3.5a.25.25 0 0 0 .25-.25v-3.5A.75.75 0 0 1 8.25 3ZM3 15.75a.75.75 0 0 1 .75-.75h3.5c.966 0 1.75.784 1.75 1.75v3.5a.75.75 0 0 1-1.5 0v-3.5a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1-.75-.75Zm12 1c0-.966.784-1.75 1.75-1.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v3.5a.75.75 0 0 1-1.5 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.25 2a8.25 8.25 0 0 1 6.34 13.53l5.69 5.69a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-5.69-5.69A8.25 8.25 0 1 1 10.25 2ZM3.5 10.25a6.75 6.75 0 1 0 13.5 0 6.75 6.75 0 0 0-13.5 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.75 6.5a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5ZM6 7.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 7.25Zm4 9a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-3.25-.75a.75.75 0 0 0 0 1.5h.5a.75.75 0 0 0 0-1.5h-.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.25 2h17.5c.966 0 1.75.784 1.75 1.75v7c0 .372-.116.716-.314 1 .198.284.314.628.314 1v7a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75v-7c0-.358.109-.707.314-1a1.741 1.741 0 0 1-.314-1v-7C1.5 2.784 2.284 2 3.25 2Zm0 10.5a.25.25 0 0 0-.25.25v7c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-7a.25.25 0 0 0-.25-.25Zm0-1.5h17.5a.25.25 0 0 0 .25-.25v-7a.25.25 0 0 0-.25-.25H3.25a.25.25 0 0 0-.25.25v7c0 .138.112.25.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.75v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V9.75a.25.25 0 0 0-.25-.25h-2.5a.75.75 0 0 1 0-1.5h2.5c.966 0 1.75.784 1.75 1.75v10.5A1.75 1.75 0 0 1 18.25 22H5.75A1.75 1.75 0 0 1 4 20.25V9.75C4 8.784 4.784 8 5.75 8h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25Zm7.03-8.53 3.25 3.25a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-1.97-1.97v10.69a.75.75 0 0 1-1.5 0V3.56L9.28 5.53a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoShareAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5.5a3.498 3.498 0 0 1-6.062 2.385l-5.112 3.021a3.498 3.498 0 0 1 0 2.188l5.112 3.021a3.5 3.5 0 1 1-.764 1.29l-5.112-3.02a3.499 3.499 0 1 1-3.843-5.642 3.499 3.499 0 0 1 3.843.872l5.112-3.021A3.5 3.5 0 1 1 20 5.5Zm-1.5 13a2 2 0 1 0-3.999-.001 2 2 0 0 0 3.999.001Zm0-13a2 2 0 1 0-3.999-.001A2 2 0 0 0 18.5 5.5ZM5.5 14a2 2 0 1 0 .001-3.999A2 2 0 0 0 5.5 14Z\"},\"child\":[]}]})(props);\n};\nexport function GoShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 15.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-.25-8.25a.75.75 0 0 0-1.5 0v4.5a.75.75 0 0 0 1.5 0v-4.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.637a1.748 1.748 0 0 1 1.08 0l8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.77 10.705-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.771 20.704 2 16.19 2 10V4.976c0-.76.49-1.43 1.21-1.664Zm.617 1.426a.253.253 0 0 0-.154 0L3.673 4.74a.25.25 0 0 0-.173.237V10c0 5.461 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.46 20.5 10V4.976a.25.25 0 0 0-.173-.237Z\"},\"child\":[]}]})(props);\n};\nexport function GoShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoShieldLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46 1.137a1.748 1.748 0 0 1 1.08 0l8.25 2.675A1.75 1.75 0 0 1 22 5.476V10.5c0 6.19-3.77 10.705-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.771 21.204 2 16.69 2 10.5V5.476c0-.76.49-1.43 1.21-1.664Zm.617 1.426a.253.253 0 0 0-.154 0L3.673 5.24a.25.25 0 0 0-.173.237V10.5c0 5.461 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0c5.15-1.943 8.43-5.965 8.43-11.426V5.476a.25.25 0 0 0-.173-.237ZM13 12.232V15a1 1 0 0 1-2 0v-2.768a2 2 0 1 1 2 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoShieldSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.54 1.137a1.748 1.748 0 0 0-1.08 0L6.018 2.905a.75.75 0 1 0 .464 1.427l5.441-1.768a.239.239 0 0 1 .154 0l8.25 2.675a.249.249 0 0 1 .173.237V10.5c0 1.284-.24 2.83-.696 3.971a.75.75 0 1 0 1.392.557C21.74 13.67 22 11.927 22 10.5V5.476a1.75 1.75 0 0 0-1.21-1.664l-8.25-2.675ZM2.017 4.843l-.974-.748a.751.751 0 0 1 .914-1.19l20.5 15.75a.751.751 0 0 1-.914 1.19l-2.012-1.546-.702.852-.008.009a.07.07 0 0 1-.008.01c-1.603 1.821-3.731 3.223-6.214 4.16a1.699 1.699 0 0 1-1.198-.001C5.771 21.205 2 16.689 2 10.5V5c0-.054.006-.107.017-.157ZM3.5 5.982V10.5c0 5.461 3.281 9.483 8.431 11.426a.193.193 0 0 0 .138 0c2.283-.861 4.192-2.131 5.61-3.738l.662-.803Z\"},\"child\":[]}]})(props);\n};\nexport function GoShieldX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.28 7.72a.75.75 0 0 0-1.06 1.06l2.72 2.72-2.72 2.72a.75.75 0 1 0 1.06 1.06L12 12.56l2.72 2.72a.75.75 0 1 0 1.06-1.06l-2.72-2.72 2.72-2.72a.75.75 0 0 0-1.06-1.06L12 10.44 9.28 7.72Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoSidebarCollapse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.22 14.47 9.69 12 7.22 9.53a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l3 3a.75.75 0 0 1 0 1.06l-3 3a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25H15v-17H3.75a.25.25 0 0 0-.25.25Zm13 16.75h3.75a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H16.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoSidebarExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.28 9.53 8.81 12l2.47 2.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-3-3a.75.75 0 0 1 0-1.06l3-3a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2ZM3.5 3.75v16.5c0 .138.112.25.25.25H15v-17H3.75a.25.25 0 0 0-.25.25Zm13 16.75h3.75a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H16.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoSignIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.25.25 0 0 0-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 0 1 0 1.5h-5.5A1.75 1.75 0 0 1 3 20.75Zm9.994 9.5 3.3 3.484a.75.75 0 0 1-1.088 1.032l-4.5-4.75a.75.75 0 0 1 0-1.032l4.5-4.75a.75.75 0 0 1 1.088 1.032l-3.3 3.484h8.256a.75.75 0 0 1 0 1.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoSignOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.25c0-.966.784-1.75 1.75-1.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.25.25 0 0 0-.25.25v17.5c0 .138.112.25.25.25h5.5a.75.75 0 0 1 0 1.5h-5.5A1.75 1.75 0 0 1 3 20.75Zm16.006 9.5H10.75a.75.75 0 0 1 0-1.5h8.256l-3.3-3.484a.75.75 0 0 1 1.088-1.032l4.5 4.75a.75.75 0 0 1 0 1.032l-4.5 4.75a.75.75 0 0 1-1.088-1.032Z\"},\"child\":[]}]})(props);\n};\nexport function GoSingleSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.854 10.854 3.792 3.792a.5.5 0 0 0 .708 0l3.793-3.792a.5.5 0 0 0-.354-.854H8.207a.5.5 0 0 0-.353.854Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoSkip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.28 7.78a.75.75 0 0 0-1.06-1.06l-9.5 9.5a.75.75 0 1 0 1.06 1.06l9.5-9.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoSkipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.333-4.167a.825.825 0 0 0-1.166-1.166l-9.5 9.5a.825.825 0 0 0 1.166 1.166Z\"},\"child\":[]}]})(props);\n};\nexport function GoSmiley (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.456 14.494a.75.75 0 0 1 1.068.17 3.08 3.08 0 0 0 .572.492A3.381 3.381 0 0 0 12 15.72c.855 0 1.487-.283 1.904-.562a3.081 3.081 0 0 0 .572-.492l.021-.026a.75.75 0 0 1 1.197.905l-.027.034c-.013.016-.03.038-.052.063-.044.05-.105.119-.184.198a4.569 4.569 0 0 1-.695.566A4.88 4.88 0 0 1 12 17.22a4.88 4.88 0 0 1-2.736-.814 4.57 4.57 0 0 1-.695-.566 3.253 3.253 0 0 1-.236-.261c-.259-.332-.223-.824.123-1.084Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10.75a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM16.25 12a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoSortAsc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 17.25a.75.75 0 0 1-1.5 0V7.56l-2.22 2.22a.75.75 0 1 1-1.06-1.06l3.5-3.5a.75.75 0 0 1 1.06 0l3.5 3.5a.75.75 0 0 1-1.06 1.06L18.5 7.56v9.69Zm-15.75.25a.75.75 0 0 1 0-1.5h9.5a.75.75 0 0 1 0 1.5h-9.5Zm0-5a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 0 1.5h-5.5Zm0-5a.75.75 0 0 1 0-1.5h3.5a.75.75 0 0 1 0 1.5h-3.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoSortDesc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 16.44V6.75a.75.75 0 0 0-1.5 0v9.69l-2.22-2.22a.75.75 0 1 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 1 0-1.06-1.06l-2.22 2.22ZM2 7.25a.75.75 0 0 1 .75-.75h9.5a.75.75 0 0 1 0 1.5h-9.5A.75.75 0 0 1 2 7.25Zm0 5a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Zm0 5a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoSponsorTiers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.004 1.25C18.311 1.25 20 3.128 20 5.75c0 2.292-1.23 4.464-3.295 6.485-.481.47-.98.909-1.482 1.31l.265 1.32 1.375 7.5a.75.75 0 0 1-.982.844l-3.512-1.207a.75.75 0 0 0-.488 0L8.37 23.209a.75.75 0 0 1-.982-.844l1.378-7.512.261-1.309c-.5-.4-1-.838-1.481-1.31C5.479 10.215 4.25 8.043 4.25 5.75c0-2.622 1.689-4.5 3.996-4.5 1.55 0 2.947.752 3.832 1.967l.047.067.047-.067a4.726 4.726 0 0 1 3.612-1.962l.22-.005ZM13.89 14.531c-.418.285-.828.542-1.218.77l-.18.103a.75.75 0 0 1-.734 0l-.071-.04-.46-.272c-.282-.173-.573-.36-.868-.562l-.121.605-1.145 6.239 2.3-.79a2.248 2.248 0 0 1 1.284-.054l.18.053 2.299.79-1.141-6.226-.125-.616ZM16.004 2.75c-1.464 0-2.731.983-3.159 2.459-.209.721-1.231.721-1.44 0-.428-1.476-1.695-2.459-3.16-2.459-1.44 0-2.495 1.173-2.495 3 0 1.811 1.039 3.647 2.844 5.412a19.624 19.624 0 0 0 3.734 2.84l-.019-.011-.184-.111.147-.088a19.81 19.81 0 0 0 3.015-2.278l.37-.352C17.46 9.397 18.5 7.561 18.5 5.75c0-1.827-1.055-3-2.496-3Z\"},\"child\":[]}]})(props);\n};\nexport function GoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.75C6 6.784 6.784 6 7.75 6h8.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 16.25 18h-8.5A1.75 1.75 0 0 1 6 16.25Zm1.75-.25a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75 6h8.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 16.25 18h-8.5A1.75 1.75 0 0 1 6 16.25v-8.5C6 6.784 6.784 6 7.75 6Z\"},\"child\":[]}]})(props);\n};\nexport function GoSquirrel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.377 3.49c-1.862-.31-3.718.62-4.456 2.095-.428.857-.691 1.624-.728 2.361-.035.71.138 1.444.67 2.252.644.854 1.199 1.913 1.608 3.346a.75.75 0 1 1-1.442.412c-.353-1.236-.82-2.135-1.372-2.865l-.008-.01c-.53-.698-1.14-1.242-1.807-1.778a50.724 50.724 0 0 0-.667-.524C9.024 7.884 7.71 6.863 6.471 5.16c-.59.287-1.248.798-1.806 1.454-.665.78-1.097 1.66-1.158 2.446.246.36.685.61 1.246.715.643.12 1.278.015 1.633-.182a.75.75 0 1 1 .728 1.311c-.723.402-1.728.516-2.637.346-.916-.172-1.898-.667-2.398-1.666L2 9.427V9.25c0-1.323.678-2.615 1.523-3.607.7-.824 1.59-1.528 2.477-1.917V2.75a.75.75 0 1 1 1.5 0v1.27c1.154 1.67 2.363 2.612 3.568 3.551.207.162.415.323.621.489.001-.063.003-.126.006-.188.052-1.034.414-2.017.884-2.958 1.06-2.118 3.594-3.313 6.044-2.904 1.225.204 2.329.795 3.125 1.748C22.546 4.713 23 5.988 23 7.5c0 1.496-.913 3.255-2.688 3.652.838 1.699 1.438 3.768 1.181 5.697-.269 2.017-1.04 3.615-2.582 4.675C17.409 22.558 15.288 23 12.5 23H4.75a.75.75 0 0 1 0-1.5h2.322c-.58-.701-.998-1.578-1.223-2.471-.327-1.3-.297-2.786.265-4.131-.92.091-1.985-.02-3.126-.445a.75.75 0 1 1 .524-1.406c1.964.733 3.428.266 4.045-.19.068-.06.137-.12.208-.18a.745.745 0 0 1 .861-.076.746.746 0 0 1 .32.368.752.752 0 0 1-.173.819c-.077.076-.16.15-.252.221-1.322 1.234-1.62 3.055-1.218 4.654.438 1.737 1.574 2.833 2.69 2.837H12.5c2.674 0 4.429-.433 5.56-1.212 1.094-.752 1.715-1.904 1.946-3.637.236-1.768-.445-3.845-1.407-5.529a.576.576 0 0 1-.012-.02 3.557 3.557 0 0 1-1.553-.94c-.556-.565-.89-1.243-1.012-1.73a.75.75 0 0 1 1.456-.364c.057.231.26.67.626 1.043.35.357.822.623 1.443.623 1.172 0 1.953-1.058 1.953-2.234 0-1.205-.357-2.127-.903-2.78-.547-.654-1.318-1.08-2.22-1.23Z\"},\"child\":[]}]})(props);\n};\nexport function GoStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z\"},\"child\":[]}]})(props);\n};\nexport function GoStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 .25a.75.75 0 0 1 .673.418l3.058 6.197 6.839.994a.75.75 0 0 1 .415 1.279l-4.948 4.823 1.168 6.811a.751.751 0 0 1-1.088.791L12 18.347l-6.117 3.216a.75.75 0 0 1-1.088-.79l1.168-6.812-4.948-4.823a.75.75 0 0 1 .416-1.28l6.838-.993L11.328.668A.75.75 0 0 1 12 .25Zm0 2.445L9.44 7.882a.75.75 0 0 1-.565.41l-5.725.832 4.143 4.038a.748.748 0 0 1 .215.664l-.978 5.702 5.121-2.692a.75.75 0 0 1 .698 0l5.12 2.692-.977-5.702a.748.748 0 0 1 .215-.664l4.143-4.038-5.725-.831a.75.75 0 0 1-.565-.41L12 2.694Z\"},\"child\":[]}]})(props);\n};\nexport function GoStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.672.668 3.059 6.197 6.838.993a.75.75 0 0 1 .416 1.28l-4.948 4.823 1.168 6.812a.75.75 0 0 1-1.088.79L12 18.347l-6.116 3.216a.75.75 0 0 1-1.088-.791l1.168-6.811-4.948-4.823a.749.749 0 0 1 .416-1.279l6.838-.994L11.327.668a.75.75 0 0 1 1.345 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0v-4.5A.75.75 0 0 1 12 7Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.328 1.47a.749.749 0 0 1 .53-.22h8.284c.199 0 .389.079.53.22l5.858 5.858c.141.14.22.33.22.53v8.284a.749.749 0 0 1-.22.53l-5.858 5.858a.749.749 0 0 1-.53.22H7.858a.749.749 0 0 1-.53-.22L1.47 16.672a.749.749 0 0 1-.22-.53V7.858c0-.199.079-.389.22-.53Zm.84 1.28L2.75 8.169v7.662l5.419 5.419h7.662l5.419-5.418V8.168L15.832 2.75Z\"},\"child\":[]}]})(props);\n};\nexport function GoStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.25 0h3.5a.75.75 0 0 1 0 1.5h-1v1.278a9.954 9.954 0 0 1 5.636 2.276L19.72 3.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.315 1.316A9.959 9.959 0 0 1 22 12.75c0 5.523-4.477 10-10 10s-10-4.477-10-10a9.959 9.959 0 0 1 2.535-6.654L3.22 4.78a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l1.335 1.334a9.958 9.958 0 0 1 5.635-2.276V1.5h-1a.75.75 0 0 1 0-1.5ZM12 21.25a8.5 8.5 0 1 0-.001-17.001A8.5 8.5 0 0 0 12 21.25Zm4.03-12.53a.75.75 0 0 1 0 1.06l-2.381 2.382a1.75 1.75 0 1 1-1.06-1.06l2.38-2.382a.75.75 0 0 1 1.061 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16.533 12.5.054.043c.93.75 1.538 1.77 1.538 3.066a4.13 4.13 0 0 1-1.479 3.177c-1.058.904-2.679 1.464-4.974 1.464-2.35 0-4.252-.837-5.318-1.865a.75.75 0 1 1 1.042-1.08c.747.722 2.258 1.445 4.276 1.445 2.065 0 3.296-.504 3.999-1.105a2.63 2.63 0 0 0 .954-2.036c0-.764-.337-1.38-.979-1.898-.649-.523-1.598-.931-2.76-1.211H3.75a.75.75 0 0 1 0-1.5h16.5a.75.75 0 0 1 0 1.5ZM12.36 5C9.37 5 8.105 6.613 8.105 7.848c0 .411.072.744.193 1.02a.75.75 0 0 1-1.373.603 3.988 3.988 0 0 1-.32-1.623c0-2.363 2.271-4.348 5.755-4.348 1.931 0 3.722.794 4.814 1.5a.75.75 0 1 1-.814 1.26c-.94-.607-2.448-1.26-4-1.26Z\"},\"child\":[]}]})(props);\n};\nexport function GoSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19a7 7 0 1 1 0-14 7 7 0 0 1 0 14Zm0-1.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 1 0 0 11Zm-5.657.157a.75.75 0 0 1 0 1.06l-1.768 1.768a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.767-1.768a.75.75 0 0 1 1.061 0ZM3.515 3.515a.75.75 0 0 1 1.06 0l1.768 1.768a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L3.515 4.575a.75.75 0 0 1 0-1.06ZM12 0a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0V.75A.75.75 0 0 1 12 0ZM4 12a.75.75 0 0 1-.75.75H.75a.75.75 0 0 1 0-1.5h2.5A.75.75 0 0 1 4 12Zm8 8a.75.75 0 0 1 .75.75v2.5a.75.75 0 0 1-1.5 0v-2.5A.75.75 0 0 1 12 20Zm12-8a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h2.5A.75.75 0 0 1 24 12Zm-6.343 5.657a.75.75 0 0 1 1.06 0l1.768 1.768a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-1.768-1.767a.75.75 0 0 1 0-1.061Zm2.828-14.142a.75.75 0 0 1 0 1.06l-1.768 1.768a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l1.767-1.768a.75.75 0 0 1 1.061 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.38 8A9.502 9.502 0 0 1 12 2.5a9.502 9.502 0 0 1 9.215 7.182.75.75 0 1 0 1.456-.364C21.473 4.539 17.15 1 12 1a10.995 10.995 0 0 0-9.5 5.452V4.75a.75.75 0 0 0-1.5 0V8.5a1 1 0 0 0 1 1h3.75a.75.75 0 0 0 0-1.5H3.38Zm-.595 6.318a.75.75 0 0 0-1.455.364C2.527 19.461 6.85 23 12 23c4.052 0 7.592-2.191 9.5-5.451v1.701a.75.75 0 0 0 1.5 0V15.5a1 1 0 0 0-1-1h-3.75a.75.75 0 0 0 0 1.5h2.37A9.502 9.502 0 0 1 12 21.5c-4.446 0-8.181-3.055-9.215-7.182Z\"},\"child\":[]}]})(props);\n};\nexport function GoTab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 4.25a.75.75 0 0 0-1.5 0v15a.75.75 0 0 0 1.5 0v-15Zm-9.72 14.28a.75.75 0 1 1-1.06-1.06l4.97-4.97H1.75a.75.75 0 0 1 0-1.5h14.44l-4.97-4.97a.75.75 0 0 1 1.06-1.06l6.25 6.25a.75.75 0 0 1 0 1.06l-6.25 6.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25ZM9 9v11.5h11.25a.25.25 0 0 0 .25-.25V9Zm11.5-1.5V3.75a.25.25 0 0 0-.25-.25H9v4ZM3.5 9v11.25c0 .138.112.25.25.25H7.5V9Zm4-1.5v-4H3.75a.25.25 0 0 0-.25.25V7.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75 6.5a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1h8.44a1.5 1.5 0 0 1 1.06.44l10.25 10.25a1.5 1.5 0 0 1 0 2.12l-8.44 8.44a1.5 1.5 0 0 1-2.12 0L1.44 12A1.497 1.497 0 0 1 1 10.94V2.5A1.5 1.5 0 0 1 2.5 1Zm0 1.5v8.44l10.25 10.25 8.44-8.44L10.94 2.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoTasklist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Zm1.5 4.5h4v-4h-4Zm8.25-5a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm0 6a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm0 6a.75.75 0 0 0 0 1.5h7.5a.75.75 0 0 0 0-1.5h-7.5Zm-2.97-2.53a.75.75 0 0 1 0 1.06l-3.5 3.5a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 1 1 1.06-1.06l1.47 1.47 2.97-2.97a.75.75 0 0 1 1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoTelescope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.408 15.13a2 2 0 0 1 .59-2.642L17.038 1.33a1.999 1.999 0 0 1 2.85.602l2.828 4.644a2 2 0 0 1-.851 2.847l-17.762 8.43a2 2 0 0 1-2.59-.807Zm5.263-4.066 1.987 3.44 8.712-4.135-2.857-4.76Zm12.06-1.34.001-.001 3.49-1.656a.498.498 0 0 0 .212-.712l-2.826-4.644a.503.503 0 0 0-.713-.151l-3.148 2.19Zm-13.295 2.2L1.854 13.72a.5.5 0 0 0-.147.66l1.105 1.915a.5.5 0 0 0 .648.201l2.838-1.347ZM17.155 22.87a.75.75 0 0 0 .226-1.036l-4-6.239a.75.75 0 0 0-.941-.278l-2.75 1.25a.75.75 0 0 0-.318.274l-3.25 4.989a.75.75 0 0 0 1.256.819l3.131-4.806.51-.232v5.64a.75.75 0 1 0 1.5 0v-6.22l3.6 5.613a.75.75 0 0 0 1.036.226Z\"},\"child\":[]}]})(props);\n};\nexport function GoTelescopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.155 22.87a.75.75 0 0 0 .226-1.036l-4-6.239a.75.75 0 0 0-.941-.277l-2.75 1.25a.75.75 0 0 0-.318.273l-3.25 4.989a.75.75 0 0 0 1.256.819l3.131-4.806.51-.232v5.64a.75.75 0 1 0 1.5 0v-6.22l3.6 5.613a.75.75 0 0 0 1.036.226ZM.408 15.13a2 2 0 0 1 .59-2.642L17.038 1.33a1.999 1.999 0 0 1 2.85.602l2.828 4.644a2 2 0 0 1-.851 2.847l-17.762 8.43a2 2 0 0 1-2.59-.807Zm13.105-9.521 2.857 4.76 1.361-.646-2.984-4.973Zm-7.842 5.455-1.235.86 1.862 3.225 1.36-.645Z\"},\"child\":[]}]})(props);\n};\nexport function GoTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.25 12a.75.75 0 0 1-.22.53l-2.75 2.75a.75.75 0 0 1-1.06-1.06L7.44 12 5.22 9.78a.75.75 0 1 1 1.06-1.06l2.75 2.75c.141.14.22.331.22.53Zm2 2a.75.75 0 0 0 0 1.5h5a.75.75 0 0 0 0-1.5h-5Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoThumbsdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.596 21.957c-1.301.092-2.303-.986-2.303-2.206v-1.053c0-2.666-1.813-3.785-2.774-4.2a1.884 1.884 0 0 0-.523-.13A1.75 1.75 0 0 1 5.25 16h-1.5A1.75 1.75 0 0 1 2 14.25V3.75C2 2.784 2.784 2 3.75 2h1.5a1.75 1.75 0 0 1 1.742 1.58c.838-.06 1.667-.296 2.69-.586l.602-.17C11.748 2.419 13.497 2 15.828 2c2.188 0 3.693.204 4.583 1.372.422.554.65 1.255.816 2.05.148.708.262 1.57.396 2.58l.051.39c.319 2.386.328 4.18-.223 5.394-.293.644-.743 1.125-1.355 1.431-.59.296-1.284.404-2.036.404h-2.05l.056.429c.025.18.05.372.076.572.06.483.117 1.006.117 1.438 0 1.245-.222 2.253-.92 2.942-.684.674-1.668.879-2.743.955ZM7 5.082v7.779c.383.025.759.113 1.113.26 1.192.514 3.68 2.027 3.68 5.577v1.053c0 .436.347.734.698.71 1.021-.072 1.52-.258 1.795-.528.26-.256.473-.748.473-1.873 0-.328-.045-.768-.105-1.25l-.07-.527c-.04-.297-.079-.59-.105-.834-.082-.758.53-1.328 1.211-1.328h2.37c.625 0 1.06-.092 1.365-.245.285-.142.5-.359.66-.711.355-.78.422-2.176.102-4.574l-.05-.385c-.137-1.027-.243-1.827-.379-2.477-.152-.73-.324-1.165-.54-1.448-.386-.507-1.113-.781-3.39-.781-2.136 0-3.736.379-5.142.771-.191.052-.38.106-.568.16-1.039.296-2.059.587-3.118.651ZM3.75 3.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoThumbsup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.596 2.043c1.075.076 2.059.281 2.743.956.698.688.92 1.696.92 2.941 0 .432-.057.955-.117 1.438-.026.2-.051.392-.076.572l-.056.429h2.05c.752 0 1.446.108 2.036.404.612.306 1.062.787 1.355 1.431.551 1.214.542 3.008.223 5.394l-.051.39c-.134 1.01-.248 1.872-.396 2.58-.166.795-.394 1.496-.816 2.05-.89 1.168-2.395 1.372-4.583 1.372-2.331 0-4.08-.418-5.544-.824l-.602-.17c-1.023-.29-1.852-.526-2.69-.586A1.75 1.75 0 0 1 5.25 22h-1.5A1.75 1.75 0 0 1 2 20.25V9.75C2 8.784 2.784 8 3.75 8h1.5a1.75 1.75 0 0 1 1.746 1.633 1.85 1.85 0 0 0 .523-.131c.961-.415 2.774-1.534 2.774-4.2V4.249c0-1.22 1.002-2.298 2.303-2.206ZM7 18.918c1.059.064 2.079.355 3.118.652l.568.16c1.406.39 3.006.77 5.142.77 2.277 0 3.004-.274 3.39-.781.216-.283.388-.718.54-1.448.136-.65.242-1.45.379-2.477l.05-.384c.32-2.4.253-3.795-.102-4.575-.16-.352-.375-.568-.66-.711-.305-.153-.74-.245-1.365-.245h-2.37c-.681 0-1.293-.57-1.211-1.328.026-.243.065-.537.105-.834l.07-.527c.06-.482.105-.921.105-1.25 0-1.125-.213-1.617-.473-1.873-.275-.27-.774-.455-1.795-.528-.351-.024-.698.274-.698.71v1.053c0 3.55-2.488 5.063-3.68 5.577-.372.16-.754.232-1.113.26ZM3.75 20.5h1.5a.25.25 0 0 0 .25-.25V9.75a.25.25 0 0 0-.25-.25h-1.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25Z\"},\"child\":[]}]})(props);\n};\nexport function GoTools (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.875 2.292a.114.114 0 0 0-.032.018A7.239 7.239 0 0 0 4.75 8.25a7.248 7.248 0 0 0 3.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 1 1-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.749 8.749 0 0 1 3.25 8.25a8.738 8.738 0 0 1 3.732-7.169 1.547 1.547 0 0 1 1.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 0 0 .119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 0 0 .119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 0 1 1.708.064 8.741 8.741 0 0 1 3.732 7.17 8.747 8.747 0 0 1-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 1 1-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0 0 19.25 8.25a7.239 7.239 0 0 0-3.093-5.94.114.114 0 0 0-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19c0 .608-.315 1.172-.833 1.49l-2.25 1.385a1.75 1.75 0 0 1-1.834 0l-2.25-1.384A1.752 1.752 0 0 1 8 7.192V2.477c0-.098-.048-.155-.084-.176a.068.068 0 0 0-.031-.011l-.01.001Z\"},\"child\":[]}]})(props);\n};\nexport function GoTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 1.75V3h5.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H8V1.75C8 .784 8.784 0 9.75 0h4.5C15.216 0 16 .784 16 1.75Zm-6.5 0V3h5V1.75a.25.25 0 0 0-.25-.25h-4.5a.25.25 0 0 0-.25.25ZM4.997 6.178a.75.75 0 1 0-1.493.144L4.916 20.92a1.75 1.75 0 0 0 1.742 1.58h10.684a1.75 1.75 0 0 0 1.742-1.581l1.413-14.597a.75.75 0 0 0-1.494-.144l-1.412 14.596a.25.25 0 0 1-.249.226H6.658a.25.25 0 0 1-.249-.226L4.997 6.178Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.206 7.501a.75.75 0 0 1 .793.705l.5 8.5A.75.75 0 1 1 9 16.794l-.5-8.5a.75.75 0 0 1 .705-.793Zm6.293.793A.75.75 0 1 0 14 8.206l-.5 8.5a.75.75 0 0 0 1.498.088l.5-8.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoTriangleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.646 15.146 5.854 9.354a.5.5 0 0 1 .353-.854h11.586a.5.5 0 0 1 .353.854l-5.793 5.792a.5.5 0 0 1-.707 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoTriangleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.854 11.646 5.792-5.792a.5.5 0 0 1 .854.353v11.586a.5.5 0 0 1-.854.353l-5.792-5.792a.5.5 0 0 1 0-.708Z\"},\"child\":[]}]})(props);\n};\nexport function GoTriangleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m15.146 12.354-5.792 5.792a.5.5 0 0 1-.854-.353V6.207a.5.5 0 0 1 .854-.353l5.792 5.792a.5.5 0 0 1 0 .708Z\"},\"child\":[]}]})(props);\n};\nexport function GoTriangleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.354 8.854 5.792 5.792a.5.5 0 0 1-.353.854H6.207a.5.5 0 0 1-.353-.854l5.792-5.792a.5.5 0 0 1 .708 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.09 10.121A5.251 5.251 0 0 1 1 5V3.75C1 2.784 1.784 2 2.75 2h2.364c.236-.586.81-1 1.48-1h10.812c.67 0 1.244.414 1.48 1h2.489c.966 0 1.75.784 1.75 1.75V5a5.252 5.252 0 0 1-4.219 5.149 7.01 7.01 0 0 1-4.644 5.478l.231 3.003a.5.5 0 0 0 .034.031c.079.065.303.203.836.282.838.124 1.637.81 1.637 1.807v.75h2.25a.75.75 0 0 1 0 1.5H4.75a.75.75 0 0 1 0-1.5H7v-.75c0-.996.8-1.683 1.637-1.807.533-.08.757-.217.836-.282a.5.5 0 0 0 .034-.031l.231-3.003A7.012 7.012 0 0 1 5.09 10.12ZM6.5 2.594V9a5.5 5.5 0 1 0 11 0V2.594a.094.094 0 0 0-.094-.094H6.594a.094.094 0 0 0-.094.094Zm4.717 13.363-.215 2.793-.001.021-.003.043a1.212 1.212 0 0 1-.022.147c-.05.237-.194.567-.553.86-.348.286-.853.5-1.566.605a.478.478 0 0 0-.274.136.264.264 0 0 0-.083.188v.75h7v-.75a.264.264 0 0 0-.083-.188.478.478 0 0 0-.274-.136c-.713-.105-1.218-.32-1.567-.604-.358-.294-.502-.624-.552-.86a1.22 1.22 0 0 1-.025-.19l-.001-.022-.215-2.793a7.069 7.069 0 0 1-1.566 0ZM19 8.578A3.751 3.751 0 0 0 21.625 5V3.75a.25.25 0 0 0-.25-.25H19ZM5 3.5H2.75a.25.25 0 0 0-.25.25V5A3.752 3.752 0 0 0 5 8.537Z\"},\"child\":[]}]})(props);\n};\nexport function GoTypography (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.414 15H3.586l-1.631 4.505a.75.75 0 1 1-1.41-.51l5.08-14.03a1.463 1.463 0 0 1 2.75 0l5.08 14.03a.75.75 0 1 1-1.411.51Zm4.532-5.098c.913-1.683 2.703-2.205 4.284-2.205 1.047 0 2.084.312 2.878.885.801.577 1.392 1.455 1.392 2.548v8.12a.75.75 0 0 1-1.5 0v-.06l-.044.025c-.893.52-2.096.785-3.451.785-1.051 0-2.048-.315-2.795-.948-.76-.643-1.217-1.578-1.217-2.702 0-.919.349-1.861 1.168-2.563.81-.694 2-1.087 3.569-1.087H22v-1.57c0-.503-.263-.967-.769-1.332-.513-.37-1.235-.6-2.001-.6-1.319 0-2.429.43-2.966 1.42a.75.75 0 0 1-1.318-.716ZM9.87 13.5 7 5.572 4.13 13.5Zm12.13.7h-2.77c-1.331 0-2.134.333-2.593.726a1.822 1.822 0 0 0-.644 1.424c0 .689.267 1.203.686 1.557.43.365 1.065.593 1.826.593 1.183 0 2.102-.235 2.697-.581.582-.34.798-.74.798-1.134Z\"},\"child\":[]}]})(props);\n};\nexport function GoUnfold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 23a.749.749 0 0 1-.53-.22l-3.25-3.25a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215L12 21.19l2.72-2.72a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734l-3.25 3.25A.749.749 0 0 1 12 23Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.47 1.22a.75.75 0 0 1 1.06 0l3.25 3.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L12 2.81 9.28 5.53a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042ZM12 22.25a.75.75 0 0 1-.75-.75v-5.75a.75.75 0 0 1 1.5 0v5.75a.75.75 0 0 1-.75.75ZM2.75 12a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Zm4 0a.75.75 0 0 1 .75-.75h1a.75.75 0 0 1 0 1.5h-1a.75.75 0 0 1-.75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1.5a.75.75 0 0 1 .75.75v6a.75.75 0 0 1-1.5 0v-6A.75.75 0 0 1 12 1.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.347 3.653a3.936 3.936 0 0 0-5.567 0l-1.75 1.75a.75.75 0 0 1-1.06-1.06l1.75-1.75a5.436 5.436 0 0 1 7.688 7.687l-1.564 1.564a.75.75 0 0 1-1.06-1.06l1.563-1.564a3.936 3.936 0 0 0 0-5.567ZM9.786 12.369a.75.75 0 0 1 1.053.125c.096.122.2.24.314.353 1.348 1.348 3.386 1.587 4.89.658l-3.922-2.858a.745.745 0 0 1-.057-.037c-1.419-1.013-3.454-.787-4.784.543L3.653 14.78a3.936 3.936 0 0 0 5.567 5.567l3-3a.75.75 0 1 1 1.06 1.06l-3 3a5.436 5.436 0 1 1-7.688-7.687l3.628-3.628a5.517 5.517 0 0 1 3.014-1.547l-7.05-5.136a.75.75 0 0 1 .883-1.213l20.25 14.75a.75.75 0 0 1-.884 1.213l-5.109-3.722c-2.155 1.709-5.278 1.425-7.232-.53a5.491 5.491 0 0 1-.431-.485.75.75 0 0 1 .125-1.053Z\"},\"child\":[]}]})(props);\n};\nexport function GoUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 7.25V9h11a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 19.5v-8A2.5 2.5 0 0 1 5.5 9H6V7.25C6 3.845 8.503 1 12 1c2.792 0 4.971 1.825 5.718 4.31a.75.75 0 1 1-1.436.432C15.71 3.84 14.079 2.5 12 2.5c-2.578 0-4.5 2.08-4.5 4.75Zm-3 4.25v8a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1h-13a1 1 0 0 0-1 1Z\"},\"child\":[]}]})(props);\n};\nexport function GoUnmute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.553 3.064A.75.75 0 0 1 12 3.75v16.5a.75.75 0 0 1-1.255.555L5.46 16H2.75A1.75 1.75 0 0 1 1 14.25v-4.5C1 8.784 1.784 8 2.75 8h2.71l5.285-4.805a.752.752 0 0 1 .808-.13ZM10.5 5.445l-4.245 3.86a.748.748 0 0 1-.505.195h-3a.25.25 0 0 0-.25.25v4.5c0 .138.112.25.25.25h3c.187 0 .367.069.505.195l4.245 3.86Zm8.218-1.223a.75.75 0 0 1 1.06 0c4.296 4.296 4.296 11.26 0 15.556a.75.75 0 0 1-1.06-1.06 9.5 9.5 0 0 0 0-13.436.75.75 0 0 1 0-1.06Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.243 7.757a.75.75 0 1 0-1.061 1.061 4.5 4.5 0 0 1 0 6.364.75.75 0 0 0 1.06 1.06 6 6 0 0 0 0-8.485Z\"},\"child\":[]}]})(props);\n};\nexport function GoUnread (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.75 4.5a.25.25 0 0 0-.25.25v.852l10.36 7a.25.25 0 0 0 .28 0l5.69-3.845A.75.75 0 0 1 18.67 10l-5.69 3.845c-.592.4-1.368.4-1.96 0L1.5 7.412V19.25c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25v-8.5a.75.75 0 0 1 1.5 0v8.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25V4.75C0 3.784.784 3 1.75 3h15.5a.75.75 0 0 1 0 1.5H1.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M24 5.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoUnverified (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm-2.517-7.665c.112-.223.268-.424.488-.57C11.186 8.12 11.506 8 12 8c.384 0 .766.118 1.034.319a.953.953 0 0 1 .403.806c0 .48-.218.81-.62 1.186a9.293 9.293 0 0 1-.409.354 19.8 19.8 0 0 0-.294.249c-.246.213-.524.474-.738.795l-.126.19V13.5a.75.75 0 0 0 1.5 0v-1.12c.09-.1.203-.208.347-.333.063-.055.14-.119.222-.187.166-.14.358-.3.52-.452.536-.5 1.098-1.2 1.098-2.283a2.45 2.45 0 0 0-1.003-2.006C13.37 6.695 12.658 6.5 12 6.5c-.756 0-1.373.191-1.861.517a2.944 2.944 0 0 0-.997 1.148.75.75 0 0 0 1.341.67Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.864 1.2a3.61 3.61 0 0 1 4.272 0l1.375 1.01c.274.2.593.333.929.384l1.686.259a3.61 3.61 0 0 1 3.021 3.02l.259 1.687c.051.336.183.655.384.929l1.01 1.375a3.61 3.61 0 0 1 0 4.272l-1.01 1.375a2.106 2.106 0 0 0-.384.929l-.259 1.686a3.61 3.61 0 0 1-3.02 3.021l-1.687.259a2.106 2.106 0 0 0-.929.384l-1.375 1.01a3.61 3.61 0 0 1-4.272 0l-1.375-1.01a2.106 2.106 0 0 0-.929-.384l-1.686-.259a3.61 3.61 0 0 1-3.021-3.02l-.259-1.687a2.106 2.106 0 0 0-.384-.929L1.2 14.136a3.61 3.61 0 0 1 0-4.272l1.01-1.375c.201-.274.333-.593.384-.929l.259-1.686a3.61 3.61 0 0 1 3.02-3.021l1.687-.259c.336-.051.655-.183.929-.384Zm3.384 1.209a2.11 2.11 0 0 0-2.496 0l-1.376 1.01a3.61 3.61 0 0 1-1.589.658l-1.686.258a2.111 2.111 0 0 0-1.766 1.766l-.258 1.686a3.614 3.614 0 0 1-.658 1.59l-1.01 1.375a2.11 2.11 0 0 0 0 2.496l1.01 1.376a3.61 3.61 0 0 1 .658 1.589l.258 1.686a2.11 2.11 0 0 0 1.766 1.765l1.686.26a3.613 3.613 0 0 1 1.59.657l1.375 1.01a2.11 2.11 0 0 0 2.496 0l1.376-1.01a3.61 3.61 0 0 1 1.589-.658l1.686-.258a2.11 2.11 0 0 0 1.765-1.766l.26-1.686a3.613 3.613 0 0 1 .657-1.59l1.01-1.375a2.11 2.11 0 0 0 0-2.496l-1.01-1.376a3.61 3.61 0 0 1-.658-1.589l-.258-1.686a2.111 2.111 0 0 0-1.766-1.766l-1.686-.258a3.614 3.614 0 0 1-1.59-.658Z\"},\"child\":[]}]})(props);\n};\nexport function GoUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20.25V18a.75.75 0 0 1 1.5 0v2.25c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V18a.75.75 0 0 1 1.5 0v2.25A1.75 1.75 0 0 1 18.25 22H5.75A1.75 1.75 0 0 1 4 20.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.22 9.53a.749.749 0 0 1 0-1.06l6.25-6.25a.749.749 0 0 1 1.06 0l6.25 6.25a.749.749 0 1 1-1.06 1.06l-4.97-4.969V16.75a.75.75 0 0 1-1.5 0V4.561L6.28 9.53a.749.749 0 0 1-1.06 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoVerified (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.03 9.78a.75.75 0 0 0-1.06-1.06l-5.47 5.47-2.47-2.47a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l6-6Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.136 1.2 1.375 1.01c.274.201.593.333.929.384l1.687.259a3.61 3.61 0 0 1 3.02 3.021l.259 1.686c.051.336.183.655.384.929l1.01 1.375a3.61 3.61 0 0 1 0 4.272l-1.01 1.375a2.106 2.106 0 0 0-.384.929l-.259 1.687a3.61 3.61 0 0 1-3.021 3.02l-1.686.259a2.106 2.106 0 0 0-.929.384l-1.375 1.01a3.61 3.61 0 0 1-4.272 0l-1.375-1.01a2.106 2.106 0 0 0-.929-.384l-1.687-.259a3.61 3.61 0 0 1-3.02-3.021l-.259-1.686a2.117 2.117 0 0 0-.384-.929L1.2 14.136a3.61 3.61 0 0 1 0-4.272l1.01-1.375c.201-.274.333-.593.384-.929l.259-1.687a3.61 3.61 0 0 1 3.021-3.02l1.686-.259c.336-.051.655-.183.929-.384L9.864 1.2a3.61 3.61 0 0 1 4.272 0Zm-3.384 1.209-1.375 1.01a3.614 3.614 0 0 1-1.59.658l-1.686.258a2.111 2.111 0 0 0-1.766 1.766l-.258 1.686a3.61 3.61 0 0 1-.658 1.589l-1.01 1.376a2.11 2.11 0 0 0 0 2.496l1.01 1.375c.344.469.57 1.015.658 1.59l.258 1.686c.14.911.855 1.626 1.766 1.766l1.686.258a3.61 3.61 0 0 1 1.589.658l1.376 1.01a2.11 2.11 0 0 0 2.496 0l1.375-1.01a3.613 3.613 0 0 1 1.59-.657l1.686-.26a2.11 2.11 0 0 0 1.766-1.765l.258-1.686a3.61 3.61 0 0 1 .658-1.589l1.01-1.376a2.11 2.11 0 0 0 0-2.496l-1.01-1.375a3.613 3.613 0 0 1-.657-1.59l-.26-1.686a2.11 2.11 0 0 0-1.765-1.766l-1.686-.258a3.61 3.61 0 0 1-1.589-.658l-1.376-1.01a2.11 2.11 0 0 0-2.496 0Z\"},\"child\":[]}]})(props);\n};\nexport function GoVersions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2Zm-.5-2a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V4a.5.5 0 0 0-.5-.5H10a.5.5 0 0 0-.5.5ZM6.17 4.165a.75.75 0 0 1-.335 1.006c-.228.114-.295.177-.315.201a.035.035 0 0 0-.008.016.423.423 0 0 0-.012.112v13c0 .07.008.102.012.112a.03.03 0 0 0 .008.016c.02.024.087.087.315.201a.749.749 0 1 1-.67 1.342c-.272-.136-.58-.315-.81-.598C4.1 19.259 4 18.893 4 18.5v-13c0-.393.1-.759.355-1.073.23-.283.538-.462.81-.598a.75.75 0 0 1 1.006.336ZM2.15 5.624a.75.75 0 0 1-.274 1.025c-.15.087-.257.17-.32.245C1.5 6.96 1.5 6.99 1.5 7v10c0 .01 0 .04.056.106.063.074.17.158.32.245a.75.75 0 0 1-.752 1.298C.73 18.421 0 17.907 0 17V7c0-.907.73-1.42 1.124-1.65a.75.75 0 0 1 1.025.274Z\"},\"child\":[]}]})(props);\n};\nexport function GoVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.75C0 3.784.784 3 1.75 3h20.5c.966 0 1.75.784 1.75 1.75v14.5A1.75 1.75 0 0 1 22.25 21H1.75A1.75 1.75 0 0 1 0 19.25Zm1.75-.25a.25.25 0 0 0-.25.25v14.5c0 .138.112.25.25.25h20.5a.25.25 0 0 0 .25-.25V4.75a.25.25 0 0 0-.25-.25Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15.584V8.416a.5.5 0 0 1 .77-.42l5.576 3.583a.5.5 0 0 1 0 .842L9.77 16.005a.5.5 0 0 1-.77-.42Z\"},\"child\":[]}]})(props);\n};\nexport function GoWorkflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z\"},\"child\":[]}]})(props);\n};\nexport function GoX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z\"},\"child\":[]}]})(props);\n};\nexport function GoXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.036 7.976a.75.75 0 0 0-1.06 1.06L10.939 12l-2.963 2.963a.75.75 0 1 0 1.06 1.06L12 13.06l2.963 2.964a.75.75 0 0 0 1.061-1.06L13.061 12l2.963-2.964a.75.75 0 1 0-1.06-1.06L12 10.939 9.036 7.976Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Z\"},\"child\":[]}]})(props);\n};\nexport function GoXCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm8.036-4.024a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L10.939 12l-2.963 2.963a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L12 13.06l2.963 2.964a.75.75 0 0 0 1.061-1.06L13.061 12l2.963-2.964a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L12 10.939Z\"},\"child\":[]}]})(props);\n};\nexport function GoZap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.716 1.329a1.341 1.341 0 0 1 2.109 1.55L15.147 9h4.161c1.623 0 2.372 2.016 1.143 3.075L8.102 22.721a1.148 1.148 0 0 1-1.81-1.317L8.996 15H4.674c-1.619 0-2.37-2.008-1.148-3.07l12.19-10.6Zm.452 1.595L4.51 13.061a.25.25 0 0 0 .164.439h5.45a.749.749 0 0 1 .692 1.041l-2.559 6.066 11.215-9.668a.25.25 0 0 0-.164-.439H14a.75.75 0 0 1-.687-1.05Z\"},\"child\":[]}]})(props);\n};\nexport function GoZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 5.75a.75.75 0 0 1 .75.75v3.25h3.25a.75.75 0 0 1 0 1.5h-3.25v3.25a.75.75 0 0 1-1.5 0v-3.25H6.5a.75.75 0 0 1 0-1.5h3.25V6.5a.75.75 0 0 1 .75-.75Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.749.749 0 1 1-1.06 1.06l-4.345-4.344A10.459 10.459 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5Zm10.5-9a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9Z\"},\"child\":[]}]})(props);\n};\nexport function GoZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 11.25a.75.75 0 0 0 0-1.5h-8a.75.75 0 0 0 0 1.5h8Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10.5C0 4.701 4.701 0 10.5 0S21 4.701 21 10.5c0 2.63-.967 5.033-2.564 6.875l4.344 4.345a.749.749 0 1 1-1.06 1.06l-4.345-4.344A10.459 10.459 0 0 1 10.5 21C4.701 21 0 16.299 0 10.5Zm10.5-9a9 9 0 0 0-9 9 9 9 0 0 0 9 9 9 9 0 0 0 9-9 9 9 0 0 0-9-9Z\"},\"child\":[]}]})(props);\n};\n","import React from \"react\";\nimport { CheckIcon } from \"@heroicons/react/16/solid\";\nimport { LibraryImage, PixabayImage, PixabayVideo } from \"../types\";\n\ninterface DisplayMediaProps {\n image: PixabayImage | PixabayVideo | LibraryImage | any; // any parce que ça fais full error typescript, sinon les type sont bon\n selectedImage: PixabayImage | LibraryImage | PixabayVideo | any; // any parce que ça fais full error typescript, sinon les type sont bon\n setSelectedImage: React.Dispatch<React.SetStateAction<PixabayImage | LibraryImage | PixabayVideo |null>> ;\n insertLogo: boolean;\n profile_picture: string;\n logoPosition: string;\n logoShape: \"circle\" | \"rounded-square\";\n getPositionClasses: (position: string) => string;\n getShapeClasses: (shape: string) => string;\n pixabay: boolean;\n}\n\nconst DisplayMedia: React.FC<DisplayMediaProps> = ({\n image,\n selectedImage,\n setSelectedImage,\n insertLogo,\n profile_picture,\n logoPosition,\n logoShape,\n getPositionClasses,\n getShapeClasses,\n pixabay,\n}) => {\n const imageUrl = pixabay\n ? image?.videos\n ? image?.videos.tiny.url\n : image?.largeImageURL\n : image?.url;\n\n const altText = pixabay ? image.tags : image.filename;\n\n const imageId = pixabay ? image.id : image.public_id;\n\n const type = pixabay\n ? image.videos\n ? \"video\"\n : \"image\"\n : image.resource_type;\n \n const selectedImageId = pixabay\n ? selectedImage?.id\n : selectedImage?.public_id;\n\n return (\n <div\n key={imageId}\n onClick={() => setSelectedImage(image)}\n className={`relative rounded-lg cursor-pointer border-2\n ${selectedImageId === imageId\n ? \"border-green-500 bg-green-500 overflow-visible\"\n : \"border-transparent\"\n }\n `}\n >\n {selectedImage && selectedImageId === imageId && (\n <CheckIcon className=\"absolute right-0 top-0 m-1 overflow-visible size-6 text-green-500 bg-white rounded-full border border-green-500 p-1\" />\n )}\n <div>\n {type == \"image\" && (\n <img\n src={imageUrl}\n alt={altText}\n className=\"object-cover rounded-lg\"\n />\n )}\n\n {type == \"video\" && (\n <div\n className=\"relative\"\n onMouseOver={(e) =>\n e?.currentTarget?.querySelector(\"video\")?.play()\n }\n onMouseOut={(e) =>\n e?.currentTarget?.querySelector(\"video\")?.pause()\n }\n >\n <video src={imageUrl} className=\"object-cover rounded-lg\" muted />\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <svg\n className=\"w-12 h-12 text-white opacity-80\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </div>\n </div>\n )}\n\n {insertLogo && profile_picture && (\n <img\n src={profile_picture}\n alt=\"Logo\"\n className={`absolute w-5 h-5 object-cover ${getPositionClasses(\n logoPosition\n )} ${getShapeClasses(logoShape)}`}\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default DisplayMedia;\n","import React from \"react\";\nimport Spinner from \"./Spinner\"; // Assurez-vous que vous avez un composant Spinner pour l'animation\n\nconst CancelSave = ({\n isSaving,\n selectedImage,\n onImageSelect,\n uploadSelectedImage,\n}) => {\n return (\n <div className=\"flex justify-between gap-4 w-full py-4\">\n <button\n onClick={() => !isSaving && onImageSelect(false)}\n className=\"btn-neutral\"\n >\n Annuler\n </button>\n\n <button\n onClick={uploadSelectedImage}\n className={`py-2 rounded w-1/4 justify-center items-center\n ${\n selectedImage\n ? \"btn-brand-primary\"\n : \"bg-gray-200 text-black font-medium text-sm shadow-sm\"\n } \n ${isSaving ? \"cursor-not-allowed opacity-50\" : \"\"} w-auto px-5`}\n disabled={isSaving || !selectedImage}\n >\n Enregistrer\n </button>\n </div>\n );\n};\n\nexport default CancelSave;\n","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib/index.mjs';\nexport function Fa500Px (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"},\"child\":[]}]})(props);\n};\nexport function FaAccessibleIcon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"},\"child\":[]}]})(props);\n};\nexport function FaAccusoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAcquisitionsIncorporated (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z\"},\"child\":[]}]})(props);\n};\nexport function FaAdn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAdversal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"},\"child\":[]}]})(props);\n};\nexport function FaAffiliatetheme (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"},\"child\":[]}]})(props);\n};\nexport function FaAirbnb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"},\"child\":[]}]})(props);\n};\nexport function FaAlgolia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z\"},\"child\":[]}]})(props);\n};\nexport function FaAlipay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"},\"child\":[]}]})(props);\n};\nexport function FaAmazonPay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"},\"child\":[]}]})(props);\n};\nexport function FaAmazon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAmilia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"},\"child\":[]}]})(props);\n};\nexport function FaAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"},\"child\":[]}]})(props);\n};\nexport function FaAngellist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAngrycreative (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAngular (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"},\"child\":[]}]})(props);\n};\nexport function FaAppStoreIos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaAppStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"},\"child\":[]}]})(props);\n};\nexport function FaApper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"},\"child\":[]}]})(props);\n};\nexport function FaApplePay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"},\"child\":[]}]})(props);\n};\nexport function FaApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArtstation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"},\"child\":[]}]})(props);\n};\nexport function FaAsymmetrik (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAtlassian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAudible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"},\"child\":[]}]})(props);\n};\nexport function FaAutoprefixer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"},\"child\":[]}]})(props);\n};\nexport function FaAvianex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"},\"child\":[]}]})(props);\n};\nexport function FaAviato (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"},\"child\":[]}]})(props);\n};\nexport function FaAws (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"},\"child\":[]}]})(props);\n};\nexport function FaBandcamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"},\"child\":[]}]})(props);\n};\nexport function FaBattleNet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"},\"child\":[]}]})(props);\n};\nexport function FaBehanceSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"},\"child\":[]}]})(props);\n};\nexport function FaBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"},\"child\":[]}]})(props);\n};\nexport function FaBimobject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBitbucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"},\"child\":[]}]})(props);\n};\nexport function FaBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"},\"child\":[]}]})(props);\n};\nexport function FaBity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"},\"child\":[]}]})(props);\n};\nexport function FaBlackTie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"},\"child\":[]}]})(props);\n};\nexport function FaBlackberry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBloggerB (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"},\"child\":[]}]})(props);\n};\nexport function FaBlogger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"},\"child\":[]}]})(props);\n};\nexport function FaBluetoothB (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"},\"child\":[]}]})(props);\n};\nexport function FaBluetooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBootstrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M333.5,201.4c0-22.1-15.6-34.3-43-34.3h-50.4v71.2h42.5C315.4,238.2,333.5,225,333.5,201.4z M517,188.6 c-9.5-30.9-10.9-68.8-9.8-98.1c1.1-30.5-22.7-58.5-54.7-58.5H123.7c-32.1,0-55.8,28.1-54.7,58.5c1,29.3-0.3,67.2-9.8,98.1 c-9.6,31-25.7,50.6-52.2,53.1v28.5c26.4,2.5,42.6,22.1,52.2,53.1c9.5,30.9,10.9,68.8,9.8,98.1c-1.1,30.5,22.7,58.5,54.7,58.5h328.7 c32.1,0,55.8-28.1,54.7-58.5c-1-29.3,0.3-67.2,9.8-98.1c9.6-31,25.7-50.6,52.1-53.1v-28.5C542.7,239.2,526.5,219.6,517,188.6z M300.2,375.1h-97.9V136.8h97.4c43.3,0,71.7,23.4,71.7,59.4c0,25.3-19.1,47.9-43.5,51.8v1.3c33.2,3.6,55.5,26.6,55.5,58.3 C383.4,349.7,352.1,375.1,300.2,375.1z M290.2,266.4h-50.1v78.4h52.3c34.2,0,52.3-13.7,52.3-39.5 C344.7,279.6,326.1,266.4,290.2,266.4z\"},\"child\":[]}]})(props);\n};\nexport function FaBtc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"},\"child\":[]}]})(props);\n};\nexport function FaBuffer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"},\"child\":[]}]})(props);\n};\nexport function FaBuromobelexperte (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"},\"child\":[]}]})(props);\n};\nexport function FaBuyNLarge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"},\"child\":[]}]})(props);\n};\nexport function FaBuysellads (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCanadianMapleLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcAmazonPay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcAmex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCcApplePay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCcDinersClub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCcDiscover (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcJcb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCcMastercard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCcPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcStripe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCcVisa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"},\"child\":[]}]})(props);\n};\nexport function FaCentercode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCentos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"},\"child\":[]}]})(props);\n};\nexport function FaChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z\"},\"child\":[]}]})(props);\n};\nexport function FaChromecast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudflare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudscale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudsmith (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 332 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudversify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 616 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"},\"child\":[]}]})(props);\n};\nexport function FaCodiepie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 472 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"},\"child\":[]}]})(props);\n};\nexport function FaConfluence (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"},\"child\":[]}]})(props);\n};\nexport function FaConnectdevelop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"},\"child\":[]}]})(props);\n};\nexport function FaContao (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"},\"child\":[]}]})(props);\n};\nexport function FaCottonBureau (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"},\"child\":[]}]})(props);\n};\nexport function FaCpanel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsBy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNcEu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNcJp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsPdAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsPd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsRemix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsSa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsSamplingPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsSampling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsZero (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"},\"child\":[]}]})(props);\n};\nexport function FaCriticalRole (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"},\"child\":[]}]})(props);\n};\nexport function FaCss3Alt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCss3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"},\"child\":[]}]})(props);\n};\nexport function FaCuttlefish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 440 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"},\"child\":[]}]})(props);\n};\nexport function FaDAndDBeyond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"},\"child\":[]}]})(props);\n};\nexport function FaDAndD (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDailymotion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"},\"child\":[]}]})(props);\n};\nexport function FaDashcube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"},\"child\":[]}]})(props);\n};\nexport function FaDeezer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"},\"child\":[]}]})(props);\n};\nexport function FaDelicious (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"},\"child\":[]}]})(props);\n};\nexport function FaDeploydog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaDeskpro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDev (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"},\"child\":[]}]})(props);\n};\nexport function FaDeviantart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"},\"child\":[]}]})(props);\n};\nexport function FaDhl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"},\"child\":[]}]})(props);\n};\nexport function FaDiaspora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"},\"child\":[]}]})(props);\n};\nexport function FaDigg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDigitalOcean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z\"},\"child\":[]}]})(props);\n};\nexport function FaDiscourse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaDochub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"},\"child\":[]}]})(props);\n};\nexport function FaDocker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"},\"child\":[]}]})(props);\n};\nexport function FaDraft2Digital (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"},\"child\":[]}]})(props);\n};\nexport function FaDribbbleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"},\"child\":[]}]})(props);\n};\nexport function FaDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"},\"child\":[]}]})(props);\n};\nexport function FaDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 528 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"},\"child\":[]}]})(props);\n};\nexport function FaDrupal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z\"},\"child\":[]}]})(props);\n};\nexport function FaDyalog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"},\"child\":[]}]})(props);\n};\nexport function FaEarlybirds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"},\"child\":[]}]})(props);\n};\nexport function FaEbay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"},\"child\":[]}]})(props);\n};\nexport function FaEdgeLegacy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"},\"child\":[]}]})(props);\n};\nexport function FaEdge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z\"},\"child\":[]}]})(props);\n};\nexport function FaElementor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z\"},\"child\":[]}]})(props);\n};\nexport function FaEllo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"},\"child\":[]}]})(props);\n};\nexport function FaEmber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"},\"child\":[]}]})(props);\n};\nexport function FaEmpire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvira (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"},\"child\":[]}]})(props);\n};\nexport function FaErlang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"},\"child\":[]}]})(props);\n};\nexport function FaEthereum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"},\"child\":[]}]})(props);\n};\nexport function FaEtsy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"},\"child\":[]}]})(props);\n};\nexport function FaEvernote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"},\"child\":[]}]})(props);\n};\nexport function FaExpeditedssl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebookF (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebookMessenger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebookSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"},\"child\":[]}]})(props);\n};\nexport function FaFantasyFlightGames (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"},\"child\":[]}]})(props);\n};\nexport function FaFedex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFedora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 95.7924C14 42.8877 56.8878 0 109.793 0H274.161C327.066 0 369.954 42.8877 369.954 95.7924C369.954 129.292 352.758 158.776 326.711 175.897C352.758 193.019 369.954 222.502 369.954 256.002C369.954 308.907 327.066 351.795 274.161 351.795H272.081C247.279 351.795 224.678 342.369 207.666 326.904V415.167C207.666 468.777 163.657 512 110.309 512C57.5361 512 14 469.243 14 416.207C14 382.709 31.1945 353.227 57.2392 336.105C31.1945 318.983 14 289.5 14 256.002C14 222.502 31.196 193.019 57.2425 175.897C31.196 158.776 14 129.292 14 95.7924ZM176.288 191.587H109.793C74.2172 191.587 45.3778 220.427 45.3778 256.002C45.3778 291.44 73.9948 320.194 109.381 320.416C109.518 320.415 109.655 320.415 109.793 320.415H176.288V191.587ZM207.666 256.002C207.666 291.577 236.505 320.417 272.081 320.417H274.161C309.737 320.417 338.576 291.577 338.576 256.002C338.576 220.427 309.737 191.587 274.161 191.587H272.081C236.505 191.587 207.666 220.427 207.666 256.002ZM109.793 351.795C109.655 351.795 109.518 351.794 109.381 351.794C73.9948 352.015 45.3778 380.769 45.3778 416.207C45.3778 451.652 74.6025 480.622 110.309 480.622C146.591 480.622 176.288 451.186 176.288 415.167V351.795H109.793ZM109.793 31.3778C74.2172 31.3778 45.3778 60.2173 45.3778 95.7924C45.3778 131.368 74.2172 160.207 109.793 160.207H176.288V31.3778H109.793ZM207.666 160.207H274.161C309.737 160.207 338.576 131.368 338.576 95.7924C338.576 60.2173 309.737 31.3778 274.161 31.3778H207.666V160.207Z\"},\"child\":[]}]})(props);\n};\nexport function FaFirefoxBrowser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z\"},\"child\":[]}]})(props);\n};\nexport function FaFirefox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstOrderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstOrder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstdraft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"},\"child\":[]}]})(props);\n};\nexport function FaFlickr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFlipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesomeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32Zm16 400a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V80A16 16 0 0 1 48 64H400a16 16 0 0 1 16 16ZM201.6 152c-25.4 0-37.4 10.4-57.6 14.4V160a16 16 0 0 0-32 0V352a16 16 0 0 0 32 0V198.4c20.2-4 32.2-14.4 57.6-14.4 31.4 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.4-16-74.6-16a85.9 85.9 0 0 0-25.6 4v32a80 80 0 0 1 25.6-4c31.4 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16V152c-31.6 11.2-41.2 16-59.8 16C244.8 168 232.8 152 201.6 152Z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesomeFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 48V384c-63 23-82 32-119 32-63 0-87-32-150-32-20 0-36 4-51 8V328c15-4 31-8 51-8 63 0 87 32 150 32 20 0 35-3 55-9V135c-20 6-35 9-55 9-63 0-87-32-150-32-51 0-75 21-115 29V448a31.6 31.6 0 0 1-32 32A31.6 31.6 0 0 1 0 448V64A31.6 31.6 0 0 1 32 32 31.6 31.6 0 0 1 64 64V77c40-8 64-29 115-29 63 0 87 32 150 32C366 80 385 71 448 48Z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesomeLogoFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 3992 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1209.7 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C1311.7 200.4 1267.5 156.5 1209.7 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C1261.1 281.8 1244.8 309.2 1209.7 309.2Zm962.1-136.1c-4.4-10.9-12.3-16.5-23.5-16.5s-19.1 5.6-23.5 16.5l-59.4 145.8c-7.2 17.7 2.8 27.4 4.4 29a24.6 24.6 0 0 0 17.5 6.8c10.8 0 18.7-6 23.1-18.1l4-10.1h67.7l4 10.1c4.8 12.1 12.3 18.1 23.1 18.1a24.6 24.6 0 0 0 17.5-6.8c10-10.1 6.8-22.6 4.4-29Zm-43 113.6 19.1-56 19.1 56Zm-574.5-130.1c-14.3 0-24.7 10.9-24.7 25.4v76.5l-68.5-85.8c-4.4-5.6-11.6-16.1-25.5-16.1-19.1 0-24.3 17.7-24.3 25.4V329.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V252.8l68.9 86.2c4.8 5.6 11.6 16.1 25.5 16.1 19.1 0 23.9-17.3 23.9-25.4V181.9C1579 167.4 1568.6 156.5 1554.3 156.5Zm-554.1 1.6H916.5c-19.9 0-25.1 17.3-25.1 25.4V328.1c0 19.7 16.7 25.4 24.7 25.4 8 0 24.7-5.2 24.7-25.4V285h44.6c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.1-22.7-22.1H940.8V203.6h59.4c12.8 0 22.7-9.3 22.7-22.6C1022.9 163 1007.3 158.1 1000.2 158.1Zm815.1 0H1691.7c-7.2 0-22.7 4.4-22.7 22.2 0 13.3 10 22.6 22.7 22.6h37V327.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V202.8h37c12.7 0 22.7-9.3 22.7-22.6C1837.9 163 1822.4 158.1 1815.2 158.1Zm1789.5-1.6c-9.6 0-17.5 6-25.1 18.1l-46.6 76.1L3486.4 174.6q-10.8-18.1-25.1-18.1c-19.5 0-24.7 18.1-24.7 25.8V329.7c0 14.1 10.4 25.4 24.7 25.4s24.7-10.9 24.7-25.4V262.8L3510.7 302.7c6.4 10.1 13.9 15.3 22.3 15.3 8.8 0 15.9-5.2 22.3-15.3l24.7-39.9v66.9c0 14.1 10.3 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V182.3C3629.4 174.2 3624.6 156.5 3604.7 156.5Zm248.6 149.8h-65.7V272.9h39.4c11.9 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.6-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.8 0 22.7-9.3 22.7-22.6C3876 311.2 3860.5 306.3 3853.3 306.3ZM3235 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C3337 200.4 3292.8 156.5 3235 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C3286.8 281.8 3270.1 309.2 3235 309.2ZM2550.2 156.5c-11.2 0-19.1 5.6-23.1 16.5l-34.3 94.7-31.5-92.2c-4.4-12.5-12.3-18.9-24.3-18.9-11.9 0-19.9 6.4-24.3 18.9l-31.5 92.2-34.3-95.5q-5.4-15.7-22.7-15.7c-6.8 0-12.3 2.4-17.5 7.3-5.2 5.2-10.8 14.5-4.8 28.6l55.8 145.8c4 11.3 11.6 16.9 23.1 16.9q16.7 0 22.7-16.9l33.5-91.8 33.5 91.8q6 16.9 22.7 16.9c11.2 0 19.1-5.6 23.1-16.9l55.8-145.8c3.6-9.3 4.4-19.3-4.8-28.6A23 23 0 0 0 2550.2 156.5Zm444.2 81-21.9-9.3c-11.9-4.8-16.3-8.5-16.3-15.7q0-12.1 16.7-12.1c12.7 0 19.5 7.7 24.3 10.9 7.2 5.2 18.3 6.8 27.9-2 10.8-10.5 6.8-23.8 1.2-30.6-12.3-14.9-30.3-22.2-53.8-22.2-19.1 0-35.1 5.2-47.4 15.7-12.3 10.5-18.7 24.2-18.7 41.1 0 24.2 15.9 43.5 47.8 57.6l19.5 8.9c15.9 6.8 19.1 9.7 19.1 17.7 0 9.3-6.4 14.1-19.5 14.1-19.1 0-34.7-14.9-36.3-16.1-10.8-7.3-21.5-2-26.3 2.8-6.8 6.4-12.7 20.9 3.2 36.2 6.8 6.4 15.5 11.7 26.7 15.3a94.6 94.6 0 0 0 32.7 5.6c19.9 0 36.7-5.2 49.8-16.1 13.1-10.9 19.5-25.4 19.5-43.5q0-20.5-12-33.8C3022.7 253.2 3010.7 244.3 2994.4 237.5Zm-206.4 68.9h-65.7V272.9h39.4c12 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.7 0 22.7-9.3 22.7-22.6C2810.8 311.2 2795.2 306.3 2788 306.3ZM178.3 49.1c-50.5 0-74.4 20.7-114.6 28.7V65A31.8 31.8 0 1 0 0 65V447a31.8 31.8 0 0 0 63.7 0V141.4c40.2-8 64.1-28.7 114.6-28.7 62.5 0 86 31.8 148.4 31.8 20.3 0 35.4-2.8 55.3-9.2v191c-19.9 6.4-35 9.2-55.3 9.2-62.5 0-86.4-31.8-148.4-31.8-20.3 0-36.2 3.6-50.9 8V375.4a159.1 159.1 0 0 1 50.9-8c62.5 0 86 31.8 148.4 31.8 37 0 56.1-9.6 119-31.8V49.1C382.8 71.4 363.7 80.9 326.7 80.9 264.2 80.9 240.4 49.1 178.3 49.1Z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32ZM336 312c-31.6 11.2-41.2 16-59.8 16-31.4 0-43.2-16-74.6-16a80 80 0 0 0-25.6 4V284a85.9 85.9 0 0 1 25.6-4c31.2 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v-96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.2-16-74.6-16-25.4 0-37.4 10.4-57.6 14.4V352a16 16 0 0 1-32 0V160a16 16 0 0 1 32 0v6.4c20.2-4 32.2-14.4 57.6-14.4 31.2 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16Z\"},\"child\":[]}]})(props);\n};\nexport function FaFonticonsFi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"},\"child\":[]}]})(props);\n};\nexport function FaFonticons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFortAwesomeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"},\"child\":[]}]})(props);\n};\nexport function FaFortAwesome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"},\"child\":[]}]})(props);\n};\nexport function FaForumbee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"},\"child\":[]}]})(props);\n};\nexport function FaFoursquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 368 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFreeCodeCamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"},\"child\":[]}]})(props);\n};\nexport function FaFreebsd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"},\"child\":[]}]})(props);\n};\nexport function FaFulcrum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"},\"child\":[]}]})(props);\n};\nexport function FaGalacticRepublic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"},\"child\":[]}]})(props);\n};\nexport function FaGalacticSenate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"},\"child\":[]}]})(props);\n};\nexport function FaGetPocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGgCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"},\"child\":[]}]})(props);\n};\nexport function FaGitAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"},\"child\":[]}]})(props);\n};\nexport function FaGitSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"},\"child\":[]}]})(props);\n};\nexport function FaGithubAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGithubSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"},\"child\":[]}]})(props);\n};\nexport function FaGitkraken (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 592 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"},\"child\":[]}]})(props);\n};\nexport function FaGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z\"},\"child\":[]}]})(props);\n};\nexport function FaGitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"},\"child\":[]}]})(props);\n};\nexport function FaGlideG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"},\"child\":[]}]})(props);\n};\nexport function FaGlide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"},\"child\":[]}]})(props);\n};\nexport function FaGofore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 400 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGoodreadsG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"},\"child\":[]}]})(props);\n};\nexport function FaGoodreads (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGoogleDrive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlusG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"},\"child\":[]}]})(props);\n};\nexport function FaGoogleWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 488 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"},\"child\":[]}]})(props);\n};\nexport function FaGratipay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"},\"child\":[]}]})(props);\n};\nexport function FaGrav (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"},\"child\":[]}]})(props);\n};\nexport function FaGripfire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGrunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"},\"child\":[]}]})(props);\n};\nexport function FaGuilded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"},\"child\":[]}]})(props);\n};\nexport function FaGulp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"},\"child\":[]}]})(props);\n};\nexport function FaHackerNewsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHackerNews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHackerrank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"},\"child\":[]}]})(props);\n};\nexport function FaHips (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHireAHelper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"},\"child\":[]}]})(props);\n};\nexport function FaHive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"},\"child\":[]}]})(props);\n};\nexport function FaHooli (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHornbill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"},\"child\":[]}]})(props);\n};\nexport function FaHotjar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHouzz (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"},\"child\":[]}]})(props);\n};\nexport function FaHubspot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"},\"child\":[]}]})(props);\n};\nexport function FaIdeal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"},\"child\":[]}]})(props);\n};\nexport function FaImdb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z\"},\"child\":[]}]})(props);\n};\nexport function FaInnosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M422.559,159.71a27.379,27.379,0,0,0-13.866-23.337,26.42,26.42,0,0,0-26.211.133L73.943,314.647V176.261a11.955,11.955,0,0,1,6.047-10.34L218.066,86.208a12.153,12.153,0,0,1,11.922.025l32.656,18.853L112.581,191.723v56L359.642,105.086,241.129,36.679c-10.992-6.129-22.3-6.255-33.8-.27l-164.6,95.026c-10.634,6.12-16.771,16.39-17.29,29.124l0,191.5c.17,10.135,5.08,18.672,13.474,23.428a27.037,27.037,0,0,0,26.736-.045L374.057,197.376V335.657a11.976,11.976,0,0,1-5.92,10.368L230.025,425.77a12.175,12.175,0,0,1-11.937.062l-32.723-18.9,150.051-86.627v-56L88.367,406.932l118.794,68.583a33.88,33.88,0,0,0,34.25-.327l164.527-94.995c10.746-6.631,16.649-17.118,16.624-29.528Z\"},\"child\":[]}]})(props);\n};\nexport function FaInstagramSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"},\"child\":[]}]})(props);\n};\nexport function FaInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"},\"child\":[]}]})(props);\n};\nexport function FaInstalod (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"},\"child\":[]}]})(props);\n};\nexport function FaIntercom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"},\"child\":[]}]})(props);\n};\nexport function FaInternetExplorer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"},\"child\":[]}]})(props);\n};\nexport function FaInvision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"},\"child\":[]}]})(props);\n};\nexport function FaIoxhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaItchIo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"},\"child\":[]}]})(props);\n};\nexport function FaItunesNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"},\"child\":[]}]})(props);\n};\nexport function FaItunes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"},\"child\":[]}]})(props);\n};\nexport function FaJava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"},\"child\":[]}]})(props);\n};\nexport function FaJediOrder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"},\"child\":[]}]})(props);\n};\nexport function FaJenkins (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"},\"child\":[]}]})(props);\n};\nexport function FaJira (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"},\"child\":[]}]})(props);\n};\nexport function FaJoget (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"},\"child\":[]}]})(props);\n};\nexport function FaJoomla (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"},\"child\":[]}]})(props);\n};\nexport function FaJsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"},\"child\":[]}]})(props);\n};\nexport function FaJs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"},\"child\":[]}]})(props);\n};\nexport function FaJsfiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"},\"child\":[]}]})(props);\n};\nexport function FaKaggle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"},\"child\":[]}]})(props);\n};\nexport function FaKeybase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"},\"child\":[]}]})(props);\n};\nexport function FaKeycdn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"},\"child\":[]}]})(props);\n};\nexport function FaKickstarterK (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"},\"child\":[]}]})(props);\n};\nexport function FaKickstarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"},\"child\":[]}]})(props);\n};\nexport function FaKorvue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 446 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"},\"child\":[]}]})(props);\n};\nexport function FaLaravel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"},\"child\":[]}]})(props);\n};\nexport function FaLastfmSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"},\"child\":[]}]})(props);\n};\nexport function FaLastfm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"},\"child\":[]}]})(props);\n};\nexport function FaLeanpub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"},\"child\":[]}]})(props);\n};\nexport function FaLess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"},\"child\":[]}]})(props);\n};\nexport function FaLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z\"},\"child\":[]}]})(props);\n};\nexport function FaLinkedinIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"},\"child\":[]}]})(props);\n};\nexport function FaLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"},\"child\":[]}]})(props);\n};\nexport function FaLinode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z\"},\"child\":[]}]})(props);\n};\nexport function FaLinux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"},\"child\":[]}]})(props);\n};\nexport function FaLyft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"},\"child\":[]}]})(props);\n};\nexport function FaMagento (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"},\"child\":[]}]})(props);\n};\nexport function FaMailchimp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"},\"child\":[]}]})(props);\n};\nexport function FaMandalorian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"},\"child\":[]}]})(props);\n};\nexport function FaMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"},\"child\":[]}]})(props);\n};\nexport function FaMastodon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"},\"child\":[]}]})(props);\n};\nexport function FaMaxcdn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"},\"child\":[]}]})(props);\n};\nexport function FaMdb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"},\"child\":[]}]})(props);\n};\nexport function FaMedapps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMediumM (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z\"},\"child\":[]}]})(props);\n};\nexport function FaMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z\"},\"child\":[]}]})(props);\n};\nexport function FaMedrt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 544 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"},\"child\":[]}]})(props);\n};\nexport function FaMeetup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"},\"child\":[]}]})(props);\n};\nexport function FaMegaport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMendeley (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"},\"child\":[]}]})(props);\n};\nexport function FaMicroblog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"},\"child\":[]}]})(props);\n};\nexport function FaMix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"},\"child\":[]}]})(props);\n};\nexport function FaMixcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z\"},\"child\":[]}]})(props);\n};\nexport function FaMixer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"},\"child\":[]}]})(props);\n};\nexport function FaMizuni (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"},\"child\":[]}]})(props);\n};\nexport function FaModx (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"},\"child\":[]}]})(props);\n};\nexport function FaMonero (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"},\"child\":[]}]})(props);\n};\nexport function FaNapster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"},\"child\":[]}]})(props);\n};\nexport function FaNeos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"},\"child\":[]}]})(props);\n};\nexport function FaNimblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"},\"child\":[]}]})(props);\n};\nexport function FaNodeJs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"},\"child\":[]}]})(props);\n};\nexport function FaNode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"},\"child\":[]}]})(props);\n};\nexport function FaNpm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"},\"child\":[]}]})(props);\n};\nexport function FaNs8 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"},\"child\":[]}]})(props);\n};\nexport function FaNutritionix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 400 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"},\"child\":[]}]})(props);\n};\nexport function FaOctopusDeploy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"},\"child\":[]}]})(props);\n};\nexport function FaOdnoklassnikiSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"},\"child\":[]}]})(props);\n};\nexport function FaOdnoklassniki (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"},\"child\":[]}]})(props);\n};\nexport function FaOldRepublic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"},\"child\":[]}]})(props);\n};\nexport function FaOpencart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"},\"child\":[]}]})(props);\n};\nexport function FaOpenid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"},\"child\":[]}]})(props);\n};\nexport function FaOpera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"},\"child\":[]}]})(props);\n};\nexport function FaOptinMonster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"},\"child\":[]}]})(props);\n};\nexport function FaOrcid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"},\"child\":[]}]})(props);\n};\nexport function FaOsi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPage4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPagelines (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"},\"child\":[]}]})(props);\n};\nexport function FaPalfed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"},\"child\":[]}]})(props);\n};\nexport function FaPatreon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"},\"child\":[]}]})(props);\n};\nexport function FaPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPennyArcade (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z\"},\"child\":[]}]})(props);\n};\nexport function FaPerbyte (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"},\"child\":[]}]})(props);\n};\nexport function FaPeriscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPhabricator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoenixFramework (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoenixSquadron (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"},\"child\":[]}]})(props);\n};\nexport function FaPhp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperPp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"},\"child\":[]}]})(props);\n};\nexport function FaPinterestP (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"},\"child\":[]}]})(props);\n};\nexport function FaPinterestSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaystation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"},\"child\":[]}]})(props);\n};\nexport function FaProductHunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPushed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 432 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPython (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"},\"child\":[]}]})(props);\n};\nexport function FaQq (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"},\"child\":[]}]})(props);\n};\nexport function FaQuinscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"},\"child\":[]}]})(props);\n};\nexport function FaQuora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"},\"child\":[]}]})(props);\n};\nexport function FaRProject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 581 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRaspberryPi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 407 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRavelry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z\"},\"child\":[]}]})(props);\n};\nexport function FaReact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"},\"child\":[]}]})(props);\n};\nexport function FaReacteurope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"},\"child\":[]}]})(props);\n};\nexport function FaReadme (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"},\"child\":[]}]})(props);\n};\nexport function FaRebel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"},\"child\":[]}]})(props);\n};\nexport function FaRedRiver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRedditAlien (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRedditSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"},\"child\":[]}]})(props);\n};\nexport function FaReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRedhat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"},\"child\":[]}]})(props);\n};\nexport function FaRenren (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"},\"child\":[]}]})(props);\n};\nexport function FaReplyd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"},\"child\":[]}]})(props);\n};\nexport function FaResearchgate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"},\"child\":[]}]})(props);\n};\nexport function FaResolving (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRev (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"},\"child\":[]}]})(props);\n};\nexport function FaRocketchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"},\"child\":[]}]})(props);\n};\nexport function FaRockrms (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"},\"child\":[]}]})(props);\n};\nexport function FaSafari (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"},\"child\":[]}]})(props);\n};\nexport function FaSalesforce (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"},\"child\":[]}]})(props);\n};\nexport function FaSass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSchlix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"},\"child\":[]}]})(props);\n};\nexport function FaScribd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchengin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 460 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"},\"child\":[]}]})(props);\n};\nexport function FaSellcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSellsy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"},\"child\":[]}]})(props);\n};\nexport function FaServicestack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"},\"child\":[]}]})(props);\n};\nexport function FaShirtsinbulk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"},\"child\":[]}]})(props);\n};\nexport function FaShopify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"},\"child\":[]}]})(props);\n};\nexport function FaShopware (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"},\"child\":[]}]})(props);\n};\nexport function FaSimplybuilt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSistrix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"},\"child\":[]}]})(props);\n};\nexport function FaSith (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"},\"child\":[]}]})(props);\n};\nexport function FaSketch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSkyatlas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSlackHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"},\"child\":[]}]})(props);\n};\nexport function FaSlideshare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSnapchatGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z\"},\"child\":[]}]})(props);\n};\nexport function FaSnapchatSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSnapchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSoundcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"},\"child\":[]}]})(props);\n};\nexport function FaSourcetree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"},\"child\":[]}]})(props);\n};\nexport function FaSpeakap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"},\"child\":[]}]})(props);\n};\nexport function FaSpeakerDeck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"},\"child\":[]}]})(props);\n};\nexport function FaSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSquarespace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"},\"child\":[]}]})(props);\n};\nexport function FaStackExchange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"},\"child\":[]}]})(props);\n};\nexport function FaStackOverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"},\"child\":[]}]})(props);\n};\nexport function FaStackpath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"},\"child\":[]}]})(props);\n};\nexport function FaStaylinked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 440 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSteamSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSteamSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSteam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"},\"child\":[]}]})(props);\n};\nexport function FaStickerMule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStrava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"},\"child\":[]}]})(props);\n};\nexport function FaStripeS (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStripe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"},\"child\":[]}]})(props);\n};\nexport function FaStudiovinari (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStumbleuponCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"},\"child\":[]}]})(props);\n};\nexport function FaStumbleupon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"},\"child\":[]}]})(props);\n};\nexport function FaSuperpowers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"},\"child\":[]}]})(props);\n};\nexport function FaSupple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSuse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"},\"child\":[]}]})(props);\n};\nexport function FaSwift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"},\"child\":[]}]})(props);\n};\nexport function FaSymfony (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"},\"child\":[]}]})(props);\n};\nexport function FaTeamspeak (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z\"},\"child\":[]}]})(props);\n};\nexport function FaTelegramPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z\"},\"child\":[]}]})(props);\n};\nexport function FaTelegram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z\"},\"child\":[]}]})(props);\n};\nexport function FaTencentWeibo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"},\"child\":[]}]})(props);\n};\nexport function FaTheRedYeti (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"},\"child\":[]}]})(props);\n};\nexport function FaThemeco (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"},\"child\":[]}]})(props);\n};\nexport function FaThemeisle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"},\"child\":[]}]})(props);\n};\nexport function FaThinkPeaks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"},\"child\":[]}]})(props);\n};\nexport function FaTiktok (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"},\"child\":[]}]})(props);\n};\nexport function FaTradeFederation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTrello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTripadvisor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.91,178.82,576,127.58H471.66a326.11,326.11,0,0,0-367,0H0l47.09,51.24A143.911,143.911,0,0,0,241.86,390.73L288,440.93l46.11-50.17A143.94,143.94,0,0,0,575.88,285.18h-.03A143.56,143.56,0,0,0,528.91,178.82ZM144.06,382.57a97.39,97.39,0,1,1,97.39-97.39A97.39,97.39,0,0,1,144.06,382.57ZM288,282.37c0-64.09-46.62-119.08-108.09-142.59a281,281,0,0,1,216.17,0C334.61,163.3,288,218.29,288,282.37Zm143.88,100.2h-.01a97.405,97.405,0,1,1,.01,0ZM144.06,234.12h-.01a51.06,51.06,0,1,0,51.06,51.06v-.11A51,51,0,0,0,144.06,234.12Zm287.82,0a51.06,51.06,0,1,0,51.06,51.06A51.06,51.06,0,0,0,431.88,234.12Z\"},\"child\":[]}]})(props);\n};\nexport function FaTumblrSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTumblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"},\"child\":[]}]})(props);\n};\nexport function FaTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"},\"child\":[]}]})(props);\n};\nexport function FaTwitterSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"},\"child\":[]}]})(props);\n};\nexport function FaTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"},\"child\":[]}]})(props);\n};\nexport function FaTypo3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"},\"child\":[]}]})(props);\n};\nexport function FaUber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"},\"child\":[]}]})(props);\n};\nexport function FaUbuntu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"},\"child\":[]}]})(props);\n};\nexport function FaUikit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"},\"child\":[]}]})(props);\n};\nexport function FaUmbraco (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 510 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"},\"child\":[]}]})(props);\n};\nexport function FaUncharted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"},\"child\":[]}]})(props);\n};\nexport function FaUniregistry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"},\"child\":[]}]})(props);\n};\nexport function FaUnity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaUnsplash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"},\"child\":[]}]})(props);\n};\nexport function FaUntappd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"},\"child\":[]}]})(props);\n};\nexport function FaUps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"},\"child\":[]}]})(props);\n};\nexport function FaUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"},\"child\":[]}]})(props);\n};\nexport function FaUsps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"},\"child\":[]}]})(props);\n};\nexport function FaUssunnah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z\"},\"child\":[]}]})(props);\n};\nexport function FaVaadin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"},\"child\":[]}]})(props);\n};\nexport function FaViacoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"},\"child\":[]}]})(props);\n};\nexport function FaViadeoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"},\"child\":[]}]})(props);\n};\nexport function FaViadeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"},\"child\":[]}]})(props);\n};\nexport function FaViber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"},\"child\":[]}]})(props);\n};\nexport function FaVimeoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"},\"child\":[]}]})(props);\n};\nexport function FaVimeoV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"},\"child\":[]}]})(props);\n};\nexport function FaVimeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"},\"child\":[]}]})(props);\n};\nexport function FaVine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"},\"child\":[]}]})(props);\n};\nexport function FaVk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z\"},\"child\":[]}]})(props);\n};\nexport function FaVnv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"},\"child\":[]}]})(props);\n};\nexport function FaVuejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWatchmanMonitoring (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"},\"child\":[]}]})(props);\n};\nexport function FaWaze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"},\"child\":[]}]})(props);\n};\nexport function FaWeebly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"},\"child\":[]}]})(props);\n};\nexport function FaWeibo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"},\"child\":[]}]})(props);\n};\nexport function FaWeixin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWhatsappSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWhatsapp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWhmcs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"},\"child\":[]}]})(props);\n};\nexport function FaWikipediaW (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"},\"child\":[]}]})(props);\n};\nexport function FaWix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"},\"child\":[]}]})(props);\n};\nexport function FaWizardsOfTheCoast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"},\"child\":[]}]})(props);\n};\nexport function FaWodu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"},\"child\":[]}]})(props);\n};\nexport function FaWolfPackBattalion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"},\"child\":[]}]})(props);\n};\nexport function FaWordpressSimple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"},\"child\":[]}]})(props);\n};\nexport function FaWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWpbeginner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"},\"child\":[]}]})(props);\n};\nexport function FaWpexplorer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWpforms (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"},\"child\":[]}]})(props);\n};\nexport function FaWpressr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"},\"child\":[]}]})(props);\n};\nexport function FaXbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"},\"child\":[]}]})(props);\n};\nexport function FaXingSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"},\"child\":[]}]})(props);\n};\nexport function FaXing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"},\"child\":[]}]})(props);\n};\nexport function FaYCombinator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"},\"child\":[]}]})(props);\n};\nexport function FaYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"},\"child\":[]}]})(props);\n};\nexport function FaYammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z\"},\"child\":[]}]})(props);\n};\nexport function FaYandexInternational (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"},\"child\":[]}]})(props);\n};\nexport function FaYandex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"},\"child\":[]}]})(props);\n};\nexport function FaYarn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"},\"child\":[]}]})(props);\n};\nexport function FaYelp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"},\"child\":[]}]})(props);\n};\nexport function FaYoast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"},\"child\":[]}]})(props);\n};\nexport function FaYoutubeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"},\"child\":[]}]})(props);\n};\nexport function FaYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"},\"child\":[]}]})(props);\n};\nexport function FaZhihu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"},\"child\":[]}]})(props);\n};\nexport function FaAd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"},\"child\":[]}]})(props);\n};\nexport function FaAddressBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAddressCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaAdjust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"},\"child\":[]}]})(props);\n};\nexport function FaAirFreshener (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"},\"child\":[]}]})(props);\n};\nexport function FaAllergies (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaAmbulance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"},\"child\":[]}]})(props);\n};\nexport function FaAmericanSignLanguageInterpreting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"},\"child\":[]}]})(props);\n};\nexport function FaAnchor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"},\"child\":[]}]})(props);\n};\nexport function FaAnkh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"},\"child\":[]}]})(props);\n};\nexport function FaAppleAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"},\"child\":[]}]})(props);\n};\nexport function FaArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaArchway (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowsAltH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowsAltV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"},\"child\":[]}]})(props);\n};\nexport function FaAssistiveListeningSystems (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"},\"child\":[]}]})(props);\n};\nexport function FaAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"},\"child\":[]}]})(props);\n};\nexport function FaAt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"},\"child\":[]}]})(props);\n};\nexport function FaAtlas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"},\"child\":[]}]})(props);\n};\nexport function FaAtom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"},\"child\":[]}]})(props);\n};\nexport function FaAudioDescription (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"},\"child\":[]}]})(props);\n};\nexport function FaAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"},\"child\":[]}]})(props);\n};\nexport function FaBabyCarriage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBaby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"},\"child\":[]}]})(props);\n};\nexport function FaBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"},\"child\":[]}]})(props);\n};\nexport function FaBacon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"},\"child\":[]}]})(props);\n};\nexport function FaBacteria (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"},\"child\":[]}]})(props);\n};\nexport function FaBacterium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"},\"child\":[]}]})(props);\n};\nexport function FaBahai (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"},\"child\":[]}]})(props);\n};\nexport function FaBalanceScaleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"},\"child\":[]}]})(props);\n};\nexport function FaBalanceScaleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"},\"child\":[]}]})(props);\n};\nexport function FaBalanceScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"},\"child\":[]}]})(props);\n};\nexport function FaBandAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaBarcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"},\"child\":[]}]})(props);\n};\nexport function FaBars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaBaseballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBasketballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"},\"child\":[]}]})(props);\n};\nexport function FaBath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryEmpty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryThreeQuarters (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"},\"child\":[]}]})(props);\n};\nexport function FaBeer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"},\"child\":[]}]})(props);\n};\nexport function FaBezierCurve (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaBible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"},\"child\":[]}]})(props);\n};\nexport function FaBicycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"},\"child\":[]}]})(props);\n};\nexport function FaBiking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBinoculars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"},\"child\":[]}]})(props);\n};\nexport function FaBiohazard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaBirthdayCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"},\"child\":[]}]})(props);\n};\nexport function FaBlenderPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBlender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"},\"child\":[]}]})(props);\n};\nexport function FaBlind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"},\"child\":[]}]})(props);\n};\nexport function FaBlog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"},\"child\":[]}]})(props);\n};\nexport function FaBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"},\"child\":[]}]})(props);\n};\nexport function FaBomb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"},\"child\":[]}]})(props);\n};\nexport function FaBong (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"},\"child\":[]}]})(props);\n};\nexport function FaBookDead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaBookMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"},\"child\":[]}]})(props);\n};\nexport function FaBookReader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"},\"child\":[]}]})(props);\n};\nexport function FaBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"},\"child\":[]}]})(props);\n};\nexport function FaBorderAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"},\"child\":[]}]})(props);\n};\nexport function FaBorderNone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBorderStyle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBowlingBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBoxOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"},\"child\":[]}]})(props);\n};\nexport function FaBoxTissue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"},\"child\":[]}]})(props);\n};\nexport function FaBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"},\"child\":[]}]})(props);\n};\nexport function FaBoxes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBraille (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaBrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"},\"child\":[]}]})(props);\n};\nexport function FaBreadSlice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"},\"child\":[]}]})(props);\n};\nexport function FaBriefcaseMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function FaBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"},\"child\":[]}]})(props);\n};\nexport function FaBroadcastTower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"},\"child\":[]}]})(props);\n};\nexport function FaBroom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"},\"child\":[]}]})(props);\n};\nexport function FaBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"},\"child\":[]}]})(props);\n};\nexport function FaBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaBullhorn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"},\"child\":[]}]})(props);\n};\nexport function FaBullseye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBurn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBusAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBusinessTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarDay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarWeek (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaCameraRetro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"},\"child\":[]}]})(props);\n};\nexport function FaCampground (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"},\"child\":[]}]})(props);\n};\nexport function FaCandyCane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCannabis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"},\"child\":[]}]})(props);\n};\nexport function FaCapsules (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"},\"child\":[]}]})(props);\n};\nexport function FaCarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCarBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaCarCrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"},\"child\":[]}]})(props);\n};\nexport function FaCarSide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCaravan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"},\"child\":[]}]})(props);\n};\nexport function FaCarrot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCartArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"},\"child\":[]}]})(props);\n};\nexport function FaCartPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaCashRegister (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"},\"child\":[]}]})(props);\n};\nexport function FaCat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaCertificate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"},\"child\":[]}]})(props);\n};\nexport function FaChair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"},\"child\":[]}]})(props);\n};\nexport function FaChalkboardTeacher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChalkboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChargingStation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"},\"child\":[]}]})(props);\n};\nexport function FaChartArea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"},\"child\":[]}]})(props);\n};\nexport function FaChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChartPie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 544 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"},\"child\":[]}]})(props);\n};\nexport function FaCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"},\"child\":[]}]})(props);\n};\nexport function FaCheckDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"},\"child\":[]}]})(props);\n};\nexport function FaCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"},\"child\":[]}]})(props);\n};\nexport function FaCheese (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"},\"child\":[]}]})(props);\n};\nexport function FaChessBishop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChessBoard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"},\"child\":[]}]})(props);\n};\nexport function FaChessKing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"},\"child\":[]}]})(props);\n};\nexport function FaChessKnight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChessPawn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChessQueen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"},\"child\":[]}]})(props);\n};\nexport function FaChessRook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"},\"child\":[]}]})(props);\n};\nexport function FaChild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"},\"child\":[]}]})(props);\n};\nexport function FaChurch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"},\"child\":[]}]})(props);\n};\nexport function FaCircleNotch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"},\"child\":[]}]})(props);\n};\nexport function FaCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"},\"child\":[]}]})(props);\n};\nexport function FaCity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaClinicMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"},\"child\":[]}]})(props);\n};\nexport function FaClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"},\"child\":[]}]})(props);\n};\nexport function FaClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"},\"child\":[]}]})(props);\n};\nexport function FaClone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"},\"child\":[]}]})(props);\n};\nexport function FaClosedCaptioning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudDownloadAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudMeatball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudMoonRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudShowersHeavy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudSunRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudUploadAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCocktail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"},\"child\":[]}]})(props);\n};\nexport function FaCodeBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"},\"child\":[]}]})(props);\n};\nexport function FaCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"},\"child\":[]}]})(props);\n};\nexport function FaCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaCogs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCoins (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"},\"child\":[]}]})(props);\n};\nexport function FaColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"},\"child\":[]}]})(props);\n};\nexport function FaComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentsDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"},\"child\":[]}]})(props);\n};\nexport function FaComments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCompactDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCompressAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"},\"child\":[]}]})(props);\n};\nexport function FaCompressArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCompress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaConciergeBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaCookieBite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCookie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"},\"child\":[]}]})(props);\n};\nexport function FaCouch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaCropAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"},\"child\":[]}]})(props);\n};\nexport function FaCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaCross (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaCrosshairs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCrutch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"},\"child\":[]}]})(props);\n};\nexport function FaCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"},\"child\":[]}]})(props);\n};\nexport function FaCubes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"},\"child\":[]}]})(props);\n};\nexport function FaCut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"},\"child\":[]}]})(props);\n};\nexport function FaDeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"},\"child\":[]}]})(props);\n};\nexport function FaDemocrat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"},\"child\":[]}]})(props);\n};\nexport function FaDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"},\"child\":[]}]})(props);\n};\nexport function FaDharmachakra (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"},\"child\":[]}]})(props);\n};\nexport function FaDiagnoses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceD20 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceD6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceFive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceFour (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceOne (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceSix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceThree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceTwo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaDigitalTachograph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"},\"child\":[]}]})(props);\n};\nexport function FaDirections (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"},\"child\":[]}]})(props);\n};\nexport function FaDisease (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaDivide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"},\"child\":[]}]})(props);\n};\nexport function FaDna (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"},\"child\":[]}]})(props);\n};\nexport function FaDog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"},\"child\":[]}]})(props);\n};\nexport function FaDollarSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"},\"child\":[]}]})(props);\n};\nexport function FaDollyFlatbed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaDolly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaDonate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaDoorClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDotCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaDove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaDraftingCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaDragon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"},\"child\":[]}]})(props);\n};\nexport function FaDrawPolygon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaDrumSteelpan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"},\"child\":[]}]})(props);\n};\nexport function FaDrum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"},\"child\":[]}]})(props);\n};\nexport function FaDrumstickBite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"},\"child\":[]}]})(props);\n};\nexport function FaDumbbell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaDumpsterFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"},\"child\":[]}]})(props);\n};\nexport function FaDumpster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaDungeon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"},\"child\":[]}]})(props);\n};\nexport function FaEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"},\"child\":[]}]})(props);\n};\nexport function FaEgg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"},\"child\":[]}]})(props);\n};\nexport function FaEject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"},\"child\":[]}]})(props);\n};\nexport function FaEllipsisH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"},\"child\":[]}]})(props);\n};\nexport function FaEllipsisV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelopeOpenText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelopeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"},\"child\":[]}]})(props);\n};\nexport function FaEquals (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"},\"child\":[]}]})(props);\n};\nexport function FaEthernet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaEuroSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"},\"child\":[]}]})(props);\n};\nexport function FaExchangeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"},\"child\":[]}]})(props);\n};\nexport function FaExclamationTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"},\"child\":[]}]})(props);\n};\nexport function FaExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"},\"child\":[]}]})(props);\n};\nexport function FaExpandAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"},\"child\":[]}]})(props);\n};\nexport function FaExpandArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaExternalLinkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"},\"child\":[]}]})(props);\n};\nexport function FaExternalLinkSquareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaEyeDropper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"},\"child\":[]}]})(props);\n};\nexport function FaEyeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"},\"child\":[]}]})(props);\n};\nexport function FaEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"},\"child\":[]}]})(props);\n};\nexport function FaFan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaFastBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaFaucet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"},\"child\":[]}]})(props);\n};\nexport function FaFax (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaFeatherAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"},\"child\":[]}]})(props);\n};\nexport function FaFeather (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"},\"child\":[]}]})(props);\n};\nexport function FaFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"},\"child\":[]}]})(props);\n};\nexport function FaFighterJet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"},\"child\":[]}]})(props);\n};\nexport function FaFileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFileAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"},\"child\":[]}]})(props);\n};\nexport function FaFileContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileCsv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileExport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"},\"child\":[]}]})(props);\n};\nexport function FaFileImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaFileInvoiceDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"},\"child\":[]}]})(props);\n};\nexport function FaFileInvoice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFileMedicalAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"},\"child\":[]}]})(props);\n};\nexport function FaFilePowerpoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"},\"child\":[]}]})(props);\n};\nexport function FaFilePrescription (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"},\"child\":[]}]})(props);\n};\nexport function FaFileUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFillDrip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"},\"child\":[]}]})(props);\n};\nexport function FaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"},\"child\":[]}]})(props);\n};\nexport function FaFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"},\"child\":[]}]})(props);\n};\nexport function FaFingerprint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"},\"child\":[]}]})(props);\n};\nexport function FaFireAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"},\"child\":[]}]})(props);\n};\nexport function FaFireExtinguisher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaFish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaFistRaised (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFlagCheckered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFlagUsa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"},\"child\":[]}]})(props);\n};\nexport function FaFlask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"},\"child\":[]}]})(props);\n};\nexport function FaFlushed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"},\"child\":[]}]})(props);\n};\nexport function FaFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"},\"child\":[]}]})(props);\n};\nexport function FaFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"},\"child\":[]}]})(props);\n};\nexport function FaFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"},\"child\":[]}]})(props);\n};\nexport function FaFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"},\"child\":[]}]})(props);\n};\nexport function FaFootballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"},\"child\":[]}]})(props);\n};\nexport function FaForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"},\"child\":[]}]})(props);\n};\nexport function FaFrog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaFrownOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"},\"child\":[]}]})(props);\n};\nexport function FaFunnelDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"},\"child\":[]}]})(props);\n};\nexport function FaFutbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"},\"child\":[]}]})(props);\n};\nexport function FaGamepad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"},\"child\":[]}]})(props);\n};\nexport function FaGasPump (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"},\"child\":[]}]})(props);\n};\nexport function FaGavel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"},\"child\":[]}]})(props);\n};\nexport function FaGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGenderless (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"},\"child\":[]}]})(props);\n};\nexport function FaGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"},\"child\":[]}]})(props);\n};\nexport function FaGifts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassCheers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassMartiniAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassMartini (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassWhiskey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGlasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeAfrica (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeAmericas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeAsia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeEurope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"},\"child\":[]}]})(props);\n};\nexport function FaGolfBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGopuram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaGraduationCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"},\"child\":[]}]})(props);\n};\nexport function FaGreaterThanEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaGreaterThan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"},\"child\":[]}]})(props);\n};\nexport function FaGrimace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinBeamSweat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 504 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinHearts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinSquintTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTongueSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTongueWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTongue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"},\"child\":[]}]})(props);\n};\nexport function FaGrin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGripHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaGripLinesVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaGripLines (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaGripVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaGuitar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaHSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHamburger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"},\"child\":[]}]})(props);\n};\nexport function FaHamsa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingUsd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHolding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHandLizard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"},\"child\":[]}]})(props);\n};\nexport function FaHandMiddleFinger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"},\"child\":[]}]})(props);\n};\nexport function FaHandRock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"},\"child\":[]}]})(props);\n};\nexport function FaHandScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"},\"child\":[]}]})(props);\n};\nexport function FaHandSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandSpock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandsHelping (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"},\"child\":[]}]})(props);\n};\nexport function FaHandsWash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"},\"child\":[]}]})(props);\n};\nexport function FaHands (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaHandshakeAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandshakeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandshake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHanukiah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"},\"child\":[]}]})(props);\n};\nexport function FaHardHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"},\"child\":[]}]})(props);\n};\nexport function FaHatCowboySide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"},\"child\":[]}]})(props);\n};\nexport function FaHatCowboy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"},\"child\":[]}]})(props);\n};\nexport function FaHatWizard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideCoughSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideCough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadphonesAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadphones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"},\"child\":[]}]})(props);\n};\nexport function FaHeartBroken (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHeartbeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHelicopter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"},\"child\":[]}]})(props);\n};\nexport function FaHighlighter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 544 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"},\"child\":[]}]})(props);\n};\nexport function FaHiking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaHippo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"},\"child\":[]}]})(props);\n};\nexport function FaHockeyPuck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"},\"child\":[]}]})(props);\n};\nexport function FaHollyBerry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"},\"child\":[]}]})(props);\n};\nexport function FaHorseHead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaHorse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaHospitalAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaHospitalSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"},\"child\":[]}]})(props);\n};\nexport function FaHospitalUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaHospital (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaHotTub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaHotdog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"},\"child\":[]}]})(props);\n};\nexport function FaHotel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglassEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglassHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglassStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"},\"child\":[]}]})(props);\n};\nexport function FaHouseDamage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"},\"child\":[]}]})(props);\n};\nexport function FaHouseUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"},\"child\":[]}]})(props);\n};\nexport function FaHryvnia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"},\"child\":[]}]})(props);\n};\nexport function FaICursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"},\"child\":[]}]})(props);\n};\nexport function FaIceCream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"},\"child\":[]}]})(props);\n};\nexport function FaIcicles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"},\"child\":[]}]})(props);\n};\nexport function FaIcons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"},\"child\":[]}]})(props);\n};\nexport function FaIdBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaIdCardAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"},\"child\":[]}]})(props);\n};\nexport function FaIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"},\"child\":[]}]})(props);\n};\nexport function FaIgloo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"},\"child\":[]}]})(props);\n};\nexport function FaImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"},\"child\":[]}]})(props);\n};\nexport function FaInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"},\"child\":[]}]})(props);\n};\nexport function FaIndent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaIndustry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"},\"child\":[]}]})(props);\n};\nexport function FaInfinity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"},\"child\":[]}]})(props);\n};\nexport function FaInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"},\"child\":[]}]})(props);\n};\nexport function FaInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"},\"child\":[]}]})(props);\n};\nexport function FaItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaJedi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"},\"child\":[]}]})(props);\n};\nexport function FaJoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaJournalWhills (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"},\"child\":[]}]})(props);\n};\nexport function FaKaaba (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"},\"child\":[]}]})(props);\n};\nexport function FaKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaKhanda (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"},\"child\":[]}]})(props);\n};\nexport function FaKissBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"},\"child\":[]}]})(props);\n};\nexport function FaKissWinkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 504 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"},\"child\":[]}]})(props);\n};\nexport function FaKiss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaKiwiBird (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"},\"child\":[]}]})(props);\n};\nexport function FaLandmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaLanguage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptopCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptopHouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptopMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"},\"child\":[]}]})(props);\n};\nexport function FaLaughBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"},\"child\":[]}]})(props);\n};\nexport function FaLaughSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"},\"child\":[]}]})(props);\n};\nexport function FaLaughWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"},\"child\":[]}]})(props);\n};\nexport function FaLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"},\"child\":[]}]})(props);\n};\nexport function FaLayerGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"},\"child\":[]}]})(props);\n};\nexport function FaLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"},\"child\":[]}]})(props);\n};\nexport function FaLemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"},\"child\":[]}]})(props);\n};\nexport function FaLessThanEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaLessThan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"},\"child\":[]}]})(props);\n};\nexport function FaLevelDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"},\"child\":[]}]})(props);\n};\nexport function FaLevelUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"},\"child\":[]}]})(props);\n};\nexport function FaLifeRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"},\"child\":[]}]})(props);\n};\nexport function FaLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"},\"child\":[]}]})(props);\n};\nexport function FaLiraSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"},\"child\":[]}]})(props);\n};\nexport function FaListAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaListOl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"},\"child\":[]}]})(props);\n};\nexport function FaListUl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaLocationArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"},\"child\":[]}]})(props);\n};\nexport function FaLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"},\"child\":[]}]})(props);\n};\nexport function FaLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"},\"child\":[]}]})(props);\n};\nexport function FaLowVision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"},\"child\":[]}]})(props);\n};\nexport function FaLuggageCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"},\"child\":[]}]})(props);\n};\nexport function FaLungsVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"},\"child\":[]}]})(props);\n};\nexport function FaLungs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"},\"child\":[]}]})(props);\n};\nexport function FaMagic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"},\"child\":[]}]})(props);\n};\nexport function FaMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMailBulk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"},\"child\":[]}]})(props);\n};\nexport function FaMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarkedAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarkerAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"},\"child\":[]}]})(props);\n};\nexport function FaMapPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaMapSigns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"},\"child\":[]}]})(props);\n};\nexport function FaMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsStrokeH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsStrokeV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsStroke (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaMars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"},\"child\":[]}]})(props);\n};\nexport function FaMedal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"},\"child\":[]}]})(props);\n};\nexport function FaMedkit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaMehBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaMehRollingEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaMemory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"},\"child\":[]}]})(props);\n};\nexport function FaMenorah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"},\"child\":[]}]})(props);\n};\nexport function FaMercury (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaMeteor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrochip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophoneAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophoneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophoneSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMicroscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"},\"child\":[]}]})(props);\n};\nexport function FaMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"},\"child\":[]}]})(props);\n};\nexport function FaMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaMitten (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMobileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"},\"child\":[]}]})(props);\n};\nexport function FaMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBillAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBillWaveAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBillWave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyCheckAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMonument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"},\"child\":[]}]})(props);\n};\nexport function FaMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"},\"child\":[]}]})(props);\n};\nexport function FaMortarPestle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMosque (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"},\"child\":[]}]})(props);\n};\nexport function FaMotorcycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"},\"child\":[]}]})(props);\n};\nexport function FaMountain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"},\"child\":[]}]})(props);\n};\nexport function FaMousePointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"},\"child\":[]}]})(props);\n};\nexport function FaMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"},\"child\":[]}]})(props);\n};\nexport function FaMugHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"},\"child\":[]}]})(props);\n};\nexport function FaNetworkWired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"},\"child\":[]}]})(props);\n};\nexport function FaNeuter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaNotEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"},\"child\":[]}]})(props);\n};\nexport function FaNotesMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaObjectGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"},\"child\":[]}]})(props);\n};\nexport function FaObjectUngroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"},\"child\":[]}]})(props);\n};\nexport function FaOilCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"},\"child\":[]}]})(props);\n};\nexport function FaOm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"},\"child\":[]}]})(props);\n};\nexport function FaOtter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"},\"child\":[]}]})(props);\n};\nexport function FaOutdent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaPager (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPaintBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"},\"child\":[]}]})(props);\n};\nexport function FaPaintRoller (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"},\"child\":[]}]})(props);\n};\nexport function FaPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"},\"child\":[]}]})(props);\n};\nexport function FaParachuteBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"},\"child\":[]}]})(props);\n};\nexport function FaParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaParking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPassport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"},\"child\":[]}]})(props);\n};\nexport function FaPastafarianism (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaPaste (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"},\"child\":[]}]})(props);\n};\nexport function FaPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"},\"child\":[]}]})(props);\n};\nexport function FaPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaPaw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"},\"child\":[]}]})(props);\n};\nexport function FaPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"},\"child\":[]}]})(props);\n};\nexport function FaPenAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"},\"child\":[]}]})(props);\n};\nexport function FaPenFancy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"},\"child\":[]}]})(props);\n};\nexport function FaPenNib (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"},\"child\":[]}]})(props);\n};\nexport function FaPenSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"},\"child\":[]}]})(props);\n};\nexport function FaPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"},\"child\":[]}]})(props);\n};\nexport function FaPencilAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"},\"child\":[]}]})(props);\n};\nexport function FaPencilRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"},\"child\":[]}]})(props);\n};\nexport function FaPeopleArrows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"},\"child\":[]}]})(props);\n};\nexport function FaPeopleCarry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPepperHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"},\"child\":[]}]})(props);\n};\nexport function FaPercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPercentage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"},\"child\":[]}]})(props);\n};\nexport function FaPersonBooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneSquareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"},\"child\":[]}]})(props);\n};\nexport function FaPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPhotoVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"},\"child\":[]}]})(props);\n};\nexport function FaPiggyBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPills (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPizzaSlice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaceOfWorship (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaneArrival (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaneDeparture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaneSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"},\"child\":[]}]})(props);\n};\nexport function FaPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"},\"child\":[]}]})(props);\n};\nexport function FaPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"},\"child\":[]}]})(props);\n};\nexport function FaPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"},\"child\":[]}]})(props);\n};\nexport function FaPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"},\"child\":[]}]})(props);\n};\nexport function FaPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPodcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPollH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPoll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"},\"child\":[]}]})(props);\n};\nexport function FaPooStorm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPoop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"},\"child\":[]}]})(props);\n};\nexport function FaPortrait (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPoundSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaPowerOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaPray (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"},\"child\":[]}]})(props);\n};\nexport function FaPrayingHands (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"},\"child\":[]}]})(props);\n};\nexport function FaPrescriptionBottleAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]}]})(props);\n};\nexport function FaPrescriptionBottle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaPrescription (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"},\"child\":[]}]})(props);\n};\nexport function FaPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaProcedures (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaProjectDiagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPumpMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"},\"child\":[]}]})(props);\n};\nexport function FaPumpSoap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"},\"child\":[]}]})(props);\n};\nexport function FaPuzzlePiece (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"},\"child\":[]}]})(props);\n};\nexport function FaQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"},\"child\":[]}]})(props);\n};\nexport function FaQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"},\"child\":[]}]})(props);\n};\nexport function FaQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"},\"child\":[]}]})(props);\n};\nexport function FaQuidditch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"},\"child\":[]}]})(props);\n};\nexport function FaQuoteLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaQuran (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"},\"child\":[]}]})(props);\n};\nexport function FaRadiationAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRadiation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"},\"child\":[]}]})(props);\n};\nexport function FaRainbow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRandom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"},\"child\":[]}]})(props);\n};\nexport function FaReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaRecordVinyl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaRecycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"},\"child\":[]}]})(props);\n};\nexport function FaRedoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"},\"child\":[]}]})(props);\n};\nexport function FaRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegistered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"},\"child\":[]}]})(props);\n};\nexport function FaRemoveFormat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"},\"child\":[]}]})(props);\n};\nexport function FaReplyAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"},\"child\":[]}]})(props);\n};\nexport function FaReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"},\"child\":[]}]})(props);\n};\nexport function FaRepublican (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaRestroom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRetweet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"},\"child\":[]}]})(props);\n};\nexport function FaRibbon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"},\"child\":[]}]})(props);\n};\nexport function FaRoad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"},\"child\":[]}]})(props);\n};\nexport function FaRobot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"},\"child\":[]}]})(props);\n};\nexport function FaRoute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRssSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"},\"child\":[]}]})(props);\n};\nexport function FaRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"},\"child\":[]}]})(props);\n};\nexport function FaRubleSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"},\"child\":[]}]})(props);\n};\nexport function FaRulerCombined (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRulerHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRulerVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"},\"child\":[]}]})(props);\n};\nexport function FaRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRunning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"},\"child\":[]}]})(props);\n};\nexport function FaRupeeSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"},\"child\":[]}]})(props);\n};\nexport function FaSadCry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSadTear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSatelliteDish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"},\"child\":[]}]})(props);\n};\nexport function FaSatellite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"},\"child\":[]}]})(props);\n};\nexport function FaSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"},\"child\":[]}]})(props);\n};\nexport function FaSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaScrewdriver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"},\"child\":[]}]})(props);\n};\nexport function FaScroll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"},\"child\":[]}]})(props);\n};\nexport function FaSdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchLocation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"},\"child\":[]}]})(props);\n};\nexport function FaSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaSeedling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"},\"child\":[]}]})(props);\n};\nexport function FaServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaShapes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"},\"child\":[]}]})(props);\n};\nexport function FaShareAltSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"},\"child\":[]}]})(props);\n};\nexport function FaShareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaShareSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"},\"child\":[]}]})(props);\n};\nexport function FaShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"},\"child\":[]}]})(props);\n};\nexport function FaShekelSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaShieldAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"},\"child\":[]}]})(props);\n};\nexport function FaShieldVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaShip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"},\"child\":[]}]})(props);\n};\nexport function FaShippingFast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"},\"child\":[]}]})(props);\n};\nexport function FaShoePrints (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"},\"child\":[]}]})(props);\n};\nexport function FaShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaShoppingBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"},\"child\":[]}]})(props);\n};\nexport function FaShower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"},\"child\":[]}]})(props);\n};\nexport function FaShuttleVan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"},\"child\":[]}]})(props);\n};\nexport function FaSignInAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"},\"child\":[]}]})(props);\n};\nexport function FaSignLanguage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"},\"child\":[]}]})(props);\n};\nexport function FaSignOutAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"},\"child\":[]}]})(props);\n};\nexport function FaSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSimCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"},\"child\":[]}]})(props);\n};\nexport function FaSitemap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSkating (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaSkiingNordic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"},\"child\":[]}]})(props);\n};\nexport function FaSkiing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"},\"child\":[]}]})(props);\n};\nexport function FaSkullCrossbones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSkull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"},\"child\":[]}]})(props);\n};\nexport function FaSleigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"},\"child\":[]}]})(props);\n};\nexport function FaSlidersH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSmileBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSmileWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSmog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"},\"child\":[]}]})(props);\n};\nexport function FaSmokingBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSmoking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function FaSms (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowboarding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowflake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowman (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowplow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSoap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"},\"child\":[]}]})(props);\n};\nexport function FaSocks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"},\"child\":[]}]})(props);\n};\nexport function FaSolarPanel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSortDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"},\"child\":[]}]})(props);\n};\nexport function FaSortUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"},\"child\":[]}]})(props);\n};\nexport function FaSort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"},\"child\":[]}]})(props);\n};\nexport function FaSpa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"},\"child\":[]}]})(props);\n};\nexport function FaSpaceShuttle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"},\"child\":[]}]})(props);\n};\nexport function FaSpellCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"},\"child\":[]}]})(props);\n};\nexport function FaSpider (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"},\"child\":[]}]})(props);\n};\nexport function FaSpinner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaSplotch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"},\"child\":[]}]})(props);\n};\nexport function FaSprayCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSquareFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 512H0V0h512v512z\"},\"child\":[]}]})(props);\n};\nexport function FaSquareRootAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaStamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaStarAndCrescent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"},\"child\":[]}]})(props);\n};\nexport function FaStarHalfAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 536 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"},\"child\":[]}]})(props);\n};\nexport function FaStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"},\"child\":[]}]})(props);\n};\nexport function FaStarOfDavid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 464 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"},\"child\":[]}]})(props);\n};\nexport function FaStarOfLife (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"},\"child\":[]}]})(props);\n};\nexport function FaStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"},\"child\":[]}]})(props);\n};\nexport function FaStepBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaStepForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaStethoscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaStickyNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"},\"child\":[]}]})(props);\n};\nexport function FaStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaStopwatch20 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"},\"child\":[]}]})(props);\n};\nexport function FaStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaStoreAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"},\"child\":[]}]})(props);\n};\nexport function FaStoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"},\"child\":[]}]})(props);\n};\nexport function FaStoreSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"},\"child\":[]}]})(props);\n};\nexport function FaStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 616 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"},\"child\":[]}]})(props);\n};\nexport function FaStream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaStreetView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"},\"child\":[]}]})(props);\n};\nexport function FaStroopwafel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"},\"child\":[]}]})(props);\n};\nexport function FaSubscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSubway (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaSuitcaseRolling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"},\"child\":[]}]})(props);\n};\nexport function FaSuitcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"},\"child\":[]}]})(props);\n};\nexport function FaSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"},\"child\":[]}]})(props);\n};\nexport function FaSuperscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSurprise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaSwatchbook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"},\"child\":[]}]})(props);\n};\nexport function FaSwimmer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaSwimmingPool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"},\"child\":[]}]})(props);\n};\nexport function FaSynagogue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"},\"child\":[]}]})(props);\n};\nexport function FaSyncAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"},\"child\":[]}]})(props);\n};\nexport function FaSyringe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"},\"child\":[]}]})(props);\n};\nexport function FaTableTennis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"},\"child\":[]}]})(props);\n};\nexport function FaTabletAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"},\"child\":[]}]})(props);\n};\nexport function FaTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTablets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"},\"child\":[]}]})(props);\n};\nexport function FaTachometerAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"},\"child\":[]}]})(props);\n};\nexport function FaTape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"},\"child\":[]}]})(props);\n};\nexport function FaTasks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTaxi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTeethOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"},\"child\":[]}]})(props);\n};\nexport function FaTeeth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"},\"child\":[]}]})(props);\n};\nexport function FaTemperatureHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTemperatureLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTenge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaTextHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"},\"child\":[]}]})(props);\n};\nexport function FaTextWidth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"},\"child\":[]}]})(props);\n};\nexport function FaThLarge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaThList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaTh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaTheaterMasks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerEmpty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerThreeQuarters (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"},\"child\":[]}]})(props);\n};\nexport function FaThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"},\"child\":[]}]})(props);\n};\nexport function FaThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"},\"child\":[]}]})(props);\n};\nexport function FaThumbtack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"},\"child\":[]}]})(props);\n};\nexport function FaTicketAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"},\"child\":[]}]})(props);\n};\nexport function FaTimesCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"},\"child\":[]}]})(props);\n};\nexport function FaTintSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"},\"child\":[]}]})(props);\n};\nexport function FaTint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaTired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"},\"child\":[]}]})(props);\n};\nexport function FaToggleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaToggleOn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaToiletPaperSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaToiletPaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"},\"child\":[]}]})(props);\n};\nexport function FaToilet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"},\"child\":[]}]})(props);\n};\nexport function FaToolbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"},\"child\":[]}]})(props);\n};\nexport function FaTools (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaTooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"},\"child\":[]}]})(props);\n};\nexport function FaTorah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"},\"child\":[]}]})(props);\n};\nexport function FaToriiGate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"},\"child\":[]}]})(props);\n};\nexport function FaTractor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"},\"child\":[]}]})(props);\n};\nexport function FaTrademark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"},\"child\":[]}]})(props);\n};\nexport function FaTrafficLight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTrailer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"},\"child\":[]}]})(props);\n};\nexport function FaTrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"},\"child\":[]}]})(props);\n};\nexport function FaTram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTransgenderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaTransgender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaTrashAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTrashRestoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTrashRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"},\"child\":[]}]})(props);\n};\nexport function FaTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"},\"child\":[]}]})(props);\n};\nexport function FaTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckLoading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckMonster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckMoving (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckPickup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"},\"child\":[]}]})(props);\n};\nexport function FaTshirt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"},\"child\":[]}]})(props);\n};\nexport function FaTty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"},\"child\":[]}]})(props);\n};\nexport function FaUmbrellaBeach (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"},\"child\":[]}]})(props);\n};\nexport function FaUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaUndoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"},\"child\":[]}]})(props);\n};\nexport function FaUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaUniversalAccess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"},\"child\":[]}]})(props);\n};\nexport function FaUniversity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"},\"child\":[]}]})(props);\n};\nexport function FaUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"},\"child\":[]}]})(props);\n};\nexport function FaUnlockAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"},\"child\":[]}]})(props);\n};\nexport function FaUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaUserAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"},\"child\":[]}]})(props);\n};\nexport function FaUserAstronaut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaUserCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"},\"child\":[]}]})(props);\n};\nexport function FaUserClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaUserCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"},\"child\":[]}]})(props);\n};\nexport function FaUserEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"},\"child\":[]}]})(props);\n};\nexport function FaUserFriends (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"},\"child\":[]}]})(props);\n};\nexport function FaUserGraduate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"},\"child\":[]}]})(props);\n};\nexport function FaUserInjured (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"},\"child\":[]}]})(props);\n};\nexport function FaUserMd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserNinja (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaUserNurse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"},\"child\":[]}]})(props);\n};\nexport function FaUserPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserSecret (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"},\"child\":[]}]})(props);\n};\nexport function FaUserSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"},\"child\":[]}]})(props);\n};\nexport function FaUserTie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUsersCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUsersSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUtensilSpoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUtensils (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"},\"child\":[]}]})(props);\n};\nexport function FaVectorSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"},\"child\":[]}]})(props);\n};\nexport function FaVenusDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"},\"child\":[]}]})(props);\n};\nexport function FaVenusMars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaVenus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaVestPatches (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"},\"child\":[]}]})(props);\n};\nexport function FaVest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"},\"child\":[]}]})(props);\n};\nexport function FaVial (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"},\"child\":[]}]})(props);\n};\nexport function FaVials (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"},\"child\":[]}]})(props);\n};\nexport function FaVideoSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"},\"child\":[]}]})(props);\n};\nexport function FaVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"},\"child\":[]}]})(props);\n};\nexport function FaVihara (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"},\"child\":[]}]})(props);\n};\nexport function FaVirusSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"},\"child\":[]}]})(props);\n};\nexport function FaVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"},\"child\":[]}]})(props);\n};\nexport function FaViruses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"},\"child\":[]}]})(props);\n};\nexport function FaVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaVolleyballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"},\"child\":[]}]})(props);\n};\nexport function FaVoteYea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"},\"child\":[]}]})(props);\n};\nexport function FaVrCardboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaWalking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaWarehouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWaveSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"},\"child\":[]}]})(props);\n};\nexport function FaWeightHanging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaWeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"},\"child\":[]}]})(props);\n};\nexport function FaWheelchair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"},\"child\":[]}]})(props);\n};\nexport function FaWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"},\"child\":[]}]})(props);\n};\nexport function FaWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowMaximize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowMinimize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"},\"child\":[]}]})(props);\n};\nexport function FaWineBottle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"},\"child\":[]}]})(props);\n};\nexport function FaWineGlassAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"},\"child\":[]}]})(props);\n};\nexport function FaWineGlass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"},\"child\":[]}]})(props);\n};\nexport function FaWonSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaXRay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaYenSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"},\"child\":[]}]})(props);\n};\nexport function FaYinYang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegAddressBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegAddressCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClosedCaptioning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCommentAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCommentDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"},\"child\":[]}]})(props);\n};\nexport function FaRegComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"},\"child\":[]}]})(props);\n};\nexport function FaRegComments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegDotCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEyeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFilePowerpoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFlushed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFontAwesomeLogoFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 3992 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFrownOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFutbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrimace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinBeamSweat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinHearts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinSquintTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTongueSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTongueWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTongue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandLizard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandRock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandSpock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandshake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHospital (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"},\"child\":[]}]})(props);\n};\nexport function FaRegIdBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKissBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKissWinkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 504 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKiss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaughBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaughSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaughWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLifeRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"},\"child\":[]}]})(props);\n};\nexport function FaRegListAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMehBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMehRollingEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMoneyBillAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"},\"child\":[]}]})(props);\n};\nexport function FaRegNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegObjectGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"},\"child\":[]}]})(props);\n};\nexport function FaRegObjectUngroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"},\"child\":[]}]})(props);\n};\nexport function FaRegRegistered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSadCry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSadTear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"},\"child\":[]}]})(props);\n};\nexport function FaRegShareSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSmileBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSmileWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSnowflake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStickyNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSurprise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"},\"child\":[]}]})(props);\n};\nexport function FaRegThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegTimesCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"},\"child\":[]}]})(props);\n};\nexport function FaRegTired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegTrashAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRegUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowMaximize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowMinimize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"},\"child\":[]}]})(props);\n};\n","import CustomPopover from \"./Popover\";\nimport Tooltip from \"./Tooltip\";\nimport { FaCog } from \"react-icons/fa\";\nimport React, { useState } from \"react\";\nimport { Company, LibraryImage, PixabayImage, PixabayVideo } from \"../types\";\nimport ColorPicker from \"./ColorPicker\";\nimport Spinner from \"./Spinner\";\n\ninterface LogoSettingsProps {\n profile_picture: string;\n textToInsertOnImage: string;\n selectedImage: PixabayImage | LibraryImage | PixabayVideo | null;\n setTextToInsertOnImage: React.Dispatch<React.SetStateAction<string>>;\n textColorOnImage: string;\n setTextColorOnImage: React.Dispatch<React.SetStateAction<string>>;\n insertLogo: boolean;\n setInsertLogo: React.Dispatch<React.SetStateAction<boolean>>;\n logoPosition: string;\n setLogoPosition: React.Dispatch<React.SetStateAction<string>>;\n setSelectedLogo: React.Dispatch<React.SetStateAction<string>>;\n logoShape: string;\n setLogoShape: React.Dispatch<\n React.SetStateAction<\"circle\" | \"rounded-square\" | \"hexagon\">\n >;\n isSaving: boolean;\n company: Company;\n fetchOverlayImage: (\n display_name: string,\n email: string,\n phone: string,\n position: string,\n baseImage: string,\n agentPhoto: File,\n color: string\n ) => Promise<void>;\n}\n\nconst LogoSettings: React.FC<LogoSettingsProps> = ({\n profile_picture,\n textToInsertOnImage,\n selectedImage,\n setTextToInsertOnImage,\n textColorOnImage,\n setTextColorOnImage,\n insertLogo,\n setInsertLogo,\n logoPosition,\n setLogoPosition,\n setSelectedLogo,\n logoShape,\n setLogoShape,\n isSaving,\n company,\n fetchOverlayImage,\n}) => {\n const positions = [\n \"top-left\",\n \"top-center\",\n \"top-right\",\n \"center-left\",\n \"center\",\n \"center-right\",\n \"bottom-left\",\n \"bottom-center\",\n \"bottom-right\",\n ] as const;\n\n const getShapeClasses = (shape: string) => {\n switch (shape) {\n case \"circle\":\n return \"rounded-full\";\n case \"rounded-square\":\n return \"rounded\";\n case \"hexagon\":\n return \"clip-hexagon\";\n default:\n return \"\";\n }\n };\n\n function removeHash(color: string): string {\n return color.startsWith(\"#\") ? color.slice(1) : color;\n }\n\n const [activeTab, setActiveTab] = useState<\"logo\" | \"signature\">(\"logo\");\n const [signaturePosition, setSignaturePosition] = useState<string>(\"bottom-right\");\n const [signaturePhoto, setSignaturePhoto] = useState<string>(\"\");\n const [signatureFilePhoto, setSignatureFilePhoto] = useState<File | null>(null);\n const [color, setColor] = useState<string>(removeHash(\"#1C1C1C\"));\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [errorMsg, setErrorMsg] = useState<string>(\"\");\n\n return (\n <div className=\"flex justify-end gap-5 grow\">\n <div className=\"relative flex items-center my-2 gap-2\">\n <span className=\"text-gray-500 font-medium\">Insérer votre logo</span>\n <label className=\"inline-flex items-center cursor-pointer\">\n <input\n type=\"checkbox\"\n value=\"\"\n className=\"sr-only peer\"\n id=\"toggle-switch\"\n onClick={() => {\n setInsertLogo(!insertLogo);\n }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setInsertLogo(!insertLogo);\n }\n }}\n aria-checked={insertLogo}\n role=\"switch\"\n disabled={!profile_picture || isSaving}\n />\n <div\n className=\"relative w-11 h-6 bg-gray-200 peer-focus:outline-none\n peer-focus:ring-brand_focus dark:peer-focus:ring-brand_focus rounded-full\n peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full\n peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px]\n after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full\n after:h-5 after:w-5 after:transition-all peer-checked:bg-green-300\"\n ></div>\n </label>\n </div>\n <div className=\"flex justify-center items-center\">\n <CustomPopover\n disabled={!profile_picture || !insertLogo}\n button={\n <Tooltip text={insertLogo ? \"Forme, position et signature\" : \"Marque désactivée\"}>\n <div\n className={`flex flex-row justify-center items-center text-brand_main bg-gray-100 rounded-full size-9 ${\n insertLogo ? \"hover:bg-gray-200\" : \"\"\n }`}\n >\n <FaCog className=\"size-4 text-gray-500\" />\n </div>\n </Tooltip>\n }\n position=\"bottom-center\"\n panelClasses=\"drop-shadow\"\n >\n <div className=\"z-10 p-4 bg-white my-auto w-80 rounded-md border border-gray-300\">\n {/* Barre d'onglets pour basculer entre Logo et Signature */}\n <div className=\"flex justify-around mb-4 border-b pb-2\">\n <button\n className={`px-4 py-2 ${\n activeTab === \"logo\"\n ? \"font-bold border-b-2 border-brand_focus\"\n : \"text-gray-600\"\n }`}\n onClick={() => setActiveTab(\"logo\")}\n >\n Logo\n </button>\n <button\n className={`px-4 py-2 ${\n activeTab === \"signature\"\n ? \"font-bold border-b-2 border-brand_focus\"\n : \"text-gray-600\"\n }`}\n onClick={() => setActiveTab(\"signature\")}\n >\n Signature\n </button>\n </div>\n\n {/* Onglet Logo */}\n {activeTab === \"logo\" && (\n <div>\n <div id=\"shapeSelection\" className=\"flex w-full my-1 justify-between\">\n <label className=\"flex flex-col text-md text-gray-700 gap-4\">\n <span>Forme</span>\n <div id=\"squareLogo\" className=\"flex\">\n <label className=\"flex items-center gap-2\">\n <input\n type=\"radio\"\n name=\"logoShape\"\n value=\"rounded-square\"\n className=\"cursor-pointer\"\n defaultChecked\n onChange={() => {\n setSelectedLogo(\"rounded-square\");\n setLogoShape(\"rounded-square\");\n }}\n />\n <span>Carré</span>\n </label>\n </div>\n <div id=\"circleLogo\" className=\"flex\">\n <label className=\"flex items-center gap-2\">\n <input\n type=\"radio\"\n name=\"logoShape\"\n value=\"circle\"\n className=\"cursor-pointer\"\n onChange={() => {\n setSelectedLogo(\"circle\");\n setLogoShape(\"circle\");\n }}\n />\n <span>Rond</span>\n </label>\n </div>\n </label>\n <label className=\"text-md text-gray-700 gap-4\">\n <span>Position</span>\n <div className=\"relative w-28 h-28\">\n <div className=\"grid grid-cols-3 grid-rows-3 gap-x-4 w-full h-full\">\n {positions.map((position) => (\n <div\n key={position}\n className=\"flex justify-center items-center cursor-pointer relative group\"\n onClick={() => setLogoPosition(position)}\n >\n <div className=\"w-3 h-3 rounded-full bg-gray-300 group-hover:bg-gray-500\"></div>\n {insertLogo &&\n profile_picture &&\n logoPosition === position && (\n <div className=\"absolute top-0 left-0 object-scale-down w-8 h-8\">\n <img\n src={profile_picture}\n alt=\"Logo\"\n className={`absolute ${getShapeClasses(\n logoShape\n )} top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-full h-full object-cover z-40`}\n />\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </label>\n </div>\n\n <div className=\"my-2\">\n <label\n htmlFor=\"textInput\"\n className=\"block text-gray-700 font-medium mb-1\"\n >\n Texte à insérer sur l'image\n </label>\n <input\n type=\"text\"\n id=\"textInput\"\n value={textToInsertOnImage}\n onChange={(e) => setTextToInsertOnImage(e.target.value)}\n placeholder=\"Saisissez votre texte\"\n className=\"border rounded p-2 w-full\"\n maxLength={50}\n />\n </div>\n\n <div className=\"my-2\">\n <span className=\"block text-gray-700 font-medium mb-1\">\n Couleur du texte\n </span>\n <div className=\"flex items-center gap-4\">\n <label className=\"flex items-center gap-2\">\n <input\n type=\"radio\"\n name=\"textColor\"\n value=\"white\"\n checked={textColorOnImage === \"white\"}\n onChange={() => setTextColorOnImage(\"white\")}\n className=\"cursor-pointer\"\n />\n <span>Blanc</span>\n </label>\n <label className=\"flex items-center gap-2\">\n <input\n type=\"radio\"\n name=\"textColor\"\n value=\"black\"\n checked={textColorOnImage === \"black\"}\n onChange={() => setTextColorOnImage(\"black\")}\n className=\"cursor-pointer\"\n />\n <span>Noir</span>\n </label>\n </div>\n </div>\n </div>\n )}\n\n {/* Onglet Signature */}\n {activeTab === \"signature\" && (\n <div>\n <div className=\"flex w-full my-1 justify-start gap-4\">\n <div className=\"text-md text-gray-700\">\n <span>Position</span>\n <div className=\"relative w-28 h-28\">\n <div className=\"grid grid-cols-3 grid-rows-3 gap-x-4 w-full h-full\">\n {positions.map((pos) => (\n <div\n key={pos}\n className=\"flex justify-center items-center cursor-pointer relative group\"\n onClick={() => setSignaturePosition(pos)}\n >\n <div className=\"w-3 h-3 rounded-full bg-gray-300 group-hover:bg-gray-500\"></div>\n {signaturePhoto && signaturePosition === pos && (\n <div className=\"absolute top-0 left-0 object-scale-down w-8 h-8\">\n <img\n src={signaturePhoto}\n alt=\"Signature user\"\n className=\"absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-full h-full object-cover z-40 rounded-full\"\n />\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n <div className=\"my-2\">\n <label\n htmlFor=\"signaturePhoto\"\n className=\"block text-gray-700 font-medium mb-1\"\n >\n Photo\n </label>\n <input\n type=\"file\"\n id=\"signaturePhoto\"\n accept=\"image/*\"\n className=\"border rounded p-2 w-full\"\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n const file = e.target.files[0];\n const reader = new FileReader();\n reader.onload = (upload) => {\n if (typeof upload.target?.result === \"string\") {\n setSignatureFilePhoto(file);\n setSignaturePhoto(upload.target.result);\n }\n };\n reader.readAsDataURL(file);\n }\n }}\n />\n </div>\n <div className=\"my-2\">\n <label\n htmlFor=\"colorPicker\"\n className=\"block text-gray-700 font-medium mb-1\"\n >\n Couleur du texte\n </label>\n <ColorPicker\n value={\"#\" + color}\n onChange={(value) => {\n const newValue = removeHash(value);\n setColor(newValue);\n }}\n name=\"signatureColor\"\n />\n </div>\n <button\n className=\"btn-brand-primary\"\n disabled={isLoading}\n onClick={async () => {\n if (isLoading) return;\n if (!signatureFilePhoto) {\n setErrorMsg(\"Veuillez importer une photo de vous\");\n return;\n }\n setErrorMsg(\"\");\n setIsLoading(true);\n try {\n await fetchOverlayImage(\n company.displayed_name,\n company.email,\n company.phone,\n signaturePosition,\n selectedImage\n ? \"largeImageURL\" in selectedImage\n ? selectedImage.largeImageURL\n : \"url\" in selectedImage\n ? selectedImage.url\n : \"\"\n : \"\",\n signatureFilePhoto as File,\n color\n );\n } finally {\n setIsLoading(false);\n }\n }}\n >\n {isLoading ? (\n <Spinner className=\"w-5 h-5 mx-auto mb-1 ml-4 text-white animate-spin\" />\n ) : (\n \"Générer\"\n )}\n </button>\n {errorMsg && <p className=\"text-red-500 italic mt-2\">{errorMsg}</p>}\n </div>\n )}\n </div>\n </CustomPopover>\n </div>\n </div>\n );\n};\n\nexport default LogoSettings;","import React, { useState } from \"react\";\nimport DisplayMedia from \"../_DisplayMedia\";\nimport CancelSave from \"../_CancelSave\";\nimport LogoSettings from \"../_LogoSettings\";\nimport { PhotoIcon, VideoCameraIcon } from \"@heroicons/react/24/solid\";\nimport { Company, LibraryImage, PixabayImage, PixabayVideo } from \"../../types\";\n\ninterface PixabayTabProps {\n query: string;\n setQuery: React.Dispatch<React.SetStateAction<string>>;\n textToInsertOnImage: string;\n setTextToInsertOnImage: React.Dispatch<React.SetStateAction<string>>;\n textColorOnImage: string;\n setTextColorOnImage: React.Dispatch<React.SetStateAction<string>>;\n images: PixabayImage[];\n setImages: React.Dispatch<React.SetStateAction<PixabayImage[]>>;\n loading: boolean;\n page: number;\n setPage: React.Dispatch<React.SetStateAction<number>>;\n defaultSearch: string | null;\n selectedImage: PixabayImage | LibraryImage | PixabayVideo | null;\n setSelectedImage: React.Dispatch<\n React.SetStateAction<PixabayImage | LibraryImage | PixabayVideo | null>\n >;\n insertLogo: boolean;\n setInsertLogo: React.Dispatch<React.SetStateAction<boolean>>;\n logoPosition: string;\n setLogoPosition: React.Dispatch<React.SetStateAction<string>>;\n logoShape: \"rounded-square\" | \"circle\" | \"hexagon\";\n setLogoShape: React.Dispatch<\n React.SetStateAction<\"rounded-square\" | \"circle\" | \"hexagon\">\n >;\n selectedLogo: string;\n setSelectedLogo: React.Dispatch<React.SetStateAction<string>>;\n isSaving: boolean;\n searchImages: () => Promise<void>;\n searchVideos: () => Promise<void>;\n loadMoreImages: () => Promise<void>;\n loadMoreVideos: () => Promise<void>; // ajout de la fonction pour les vidéos\n uploadSelectedImage: () => Promise<void>;\n profile_picture: string;\n getPositionClasses: (position: string) => string;\n getShapeClasses: (shape: string) => string;\n onImageSelect: React.Dispatch<React.SetStateAction<boolean>>;\n company: Company;\n fetchOverlayImage: (display_name: string, email: string, phone: string, position: string, baseImage: string, agentPhoto: File, color: string) => Promise<void>;\n}\n\nconst PixabayTab: React.FC<PixabayTabProps> = ({\n query,\n setQuery,\n textToInsertOnImage,\n setTextToInsertOnImage,\n textColorOnImage,\n setTextColorOnImage,\n images,\n loading,\n selectedImage,\n setSelectedImage,\n insertLogo,\n setInsertLogo,\n logoPosition,\n setLogoPosition,\n logoShape,\n setLogoShape,\n selectedLogo,\n setSelectedLogo,\n isSaving,\n searchImages,\n searchVideos,\n loadMoreImages,\n loadMoreVideos,\n uploadSelectedImage,\n profile_picture,\n getPositionClasses,\n getShapeClasses,\n onImageSelect,\n company,\n fetchOverlayImage,\n}) => { \n const [mediaType, setMediaType] = useState<\"images\" | \"videos\">(\"images\");\n\n const handleSearch = async () => {\n if (mediaType === \"images\") {\n await searchImages();\n } else {\n await searchVideos();\n }\n };\n\n const handleLoadMore = async () => {\n if (mediaType === \"images\") {\n await loadMoreImages();\n } else {\n await loadMoreVideos();\n }\n };\n\n return (\n <>\n <div className=\"flex flex-wrap-reverse my-1 items-center justify-between gap-3\">\n <div className=\"flex justify-end w-full sm:w-fit\">\n <div className=\"relative max-w-60 \">\n <input\n type=\"text\"\n name=\"search\"\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleSearch();\n }\n }}\n placeholder=\"Rechercher\"\n className=\"peer form-input flex flex-1 w-full rounded-md shadow-sm pl-5 pr-3 py-1 border border-gray-300 rounded-full focus:border-brand_focus focus:ring focus:ring-brand_focus focus:ring-opacity-20\"\n />\n <button\n onClick={handleSearch}\n className=\"\n absolute inset-y-0 right-0 flex items-center justify-center\n w-10 bg-gray-50 border border-gray-300 rounded-r-md\n hover:bg-gray-100 text-gray-400 duration-100 peer-focus:border-brand_focus cursor-pointer\n \"\n >\n <i className=\"fa fa-search duration-100 cursor-pointer\"></i>\n </button>\n </div>\n </div>\n\n {/* Boutons pour basculer entre images et vidéos */}\n <div className=\"flex gap-2 text-sm\">\n <button\n onClick={() => {\n setMediaType(\"images\");\n searchImages();\n }}\n className={`btn-neutral ${mediaType === \"images\" ? \"text-indigo-500\" : \"text-gray-500\"}`}\n >\n <PhotoIcon className=\"size-4\" />\n </button>\n <button\n onClick={() => {\n setMediaType(\"videos\");\n searchVideos();\n }}\n className={`btn-neutral ${mediaType === \"videos\" ? \"text-indigo-500\" : \"text-gray-500\"}`}\n >\n\n <VideoCameraIcon className=\"size-4\" />\n </button>\n </div>\n <LogoSettings\n profile_picture={profile_picture}\n textToInsertOnImage={textToInsertOnImage}\n selectedImage={selectedImage}\n setTextToInsertOnImage={setTextToInsertOnImage}\n textColorOnImage={textColorOnImage}\n setTextColorOnImage={setTextColorOnImage}\n insertLogo={insertLogo}\n setInsertLogo={setInsertLogo}\n logoPosition={logoPosition}\n setLogoPosition={setLogoPosition}\n setSelectedLogo={setSelectedLogo}\n logoShape={logoShape}\n setLogoShape={setLogoShape}\n isSaving={isSaving}\n company={company}\n fetchOverlayImage={fetchOverlayImage}\n />\n </div>\n {loading && (\n <p className=\"p-3 text-white text-center mb-4\">Chargement en cours</p>\n )}\n <div className=\"flex-1 overflow-y-auto\">\n <div className=\"my-4 columns-2 sm:columns-3 md:columns-4 space-y-3 gap-3\">\n {images.map((image) => (\n <DisplayMedia\n key={image.id}\n image={image}\n selectedImage={selectedImage}\n setSelectedImage={setSelectedImage}\n insertLogo={insertLogo}\n profile_picture={profile_picture}\n logoPosition={logoPosition}\n logoShape={logoShape}\n getPositionClasses={getPositionClasses}\n getShapeClasses={getShapeClasses}\n pixabay={true}\n />\n ))}\n </div>\n <div className=\"flex flex-col items-center justify-center \">\n {images.length > 0 && (\n <button\n onClick={handleLoadMore}\n className=\"font-medium text-gray-700 hover:text-indigo-700\"\n disabled={isSaving}\n >\n Afficher plus\n </button>\n )}\n </div>\n </div>\n {images.length > 0 && (\n <CancelSave\n isSaving={isSaving}\n selectedImage={selectedImage}\n onImageSelect={onImageSelect}\n uploadSelectedImage={uploadSelectedImage}\n />\n )}\n </>\n );\n};\n\nexport default PixabayTab;\n","import React from \"react\";\nimport DisplayMedia from \"../_DisplayMedia\";\nimport CancelSave from \"../_CancelSave\";\nimport LogoSettings from \"../_LogoSettings\";\nimport { Company, LibraryImage, PixabayImage, PixabayVideo } from \"../../types\";\n\ninterface MediaLibraryTabProps {\n mediaLibrary: LibraryImage[] | null;\n loading: boolean;\n selectedImage: PixabayImage | LibraryImage | PixabayVideo| null;\n setSelectedImage: React.Dispatch<\n React.SetStateAction<PixabayImage | LibraryImage | PixabayVideo| null>\n >;\n textToInsertOnImage: string;\n setTextToInsertOnImage: React.Dispatch<React.SetStateAction<string>>;\n textColorOnImage: string;\n setTextColorOnImage: React.Dispatch<React.SetStateAction<string>>;\n insertLogo: boolean;\n setInsertLogo: React.Dispatch<React.SetStateAction<boolean>>;\n logoPosition: string;\n setLogoPosition: React.Dispatch<React.SetStateAction<string>>;\n logoShape: \"rounded-square\" | \"circle\" | \"hexagon\";\n setLogoShape: React.Dispatch<\n React.SetStateAction<\"rounded-square\" | \"circle\" | \"hexagon\">\n >;\n selectedLogo: string;\n setSelectedLogo: React.Dispatch<React.SetStateAction<string>>;\n isSaving: boolean;\n uploadSelectedImage: () => Promise<void>;\n onImageSelect: React.Dispatch<React.SetStateAction<boolean>>;\n profile_picture: string;\n getPositionClasses: (position: string) => string;\n getShapeClasses: (shape: string) => string;\n company: Company;\n fetchOverlayImage: (display_name: string, email: string, phone: string, position: string, baseImage: string, agentPhoto: File, color: string) => Promise<void>;\n}\n\nconst MediaLibraryTab: React.FC<MediaLibraryTabProps> = ({\n mediaLibrary,\n loading,\n selectedImage,\n setSelectedImage,\n insertLogo,\n setInsertLogo,\n logoPosition,\n setLogoPosition,\n logoShape,\n setLogoShape,\n selectedLogo,\n setSelectedLogo,\n isSaving,\n uploadSelectedImage,\n onImageSelect,\n profile_picture,\n getPositionClasses,\n getShapeClasses,\n company,\n fetchOverlayImage,\n textToInsertOnImage,\n setTextToInsertOnImage,\n textColorOnImage,\n setTextColorOnImage,\n}) => {\n\n return (\n <>\n <div className=\"flex\">\n <LogoSettings\n profile_picture={profile_picture}\n insertLogo={insertLogo}\n selectedImage={selectedImage}\n setInsertLogo={setInsertLogo}\n logoPosition={logoPosition}\n setTextToInsertOnImage={setTextToInsertOnImage}\n textColorOnImage={textColorOnImage}\n setTextColorOnImage={setTextColorOnImage}\n setLogoPosition={setLogoPosition}\n selectedLogo={selectedLogo}\n setSelectedLogo={setSelectedLogo}\n logoShape={logoShape}\n setLogoShape={setLogoShape}\n isSaving={isSaving}\n company={company}\n fetchOverlayImage={fetchOverlayImage}\n />\n </div>\n {mediaLibrary ? (\n <div className=\"relative flex-1 overflow-y-auto\">\n {loading && (\n <p className=\"absolute text-center\">Chargement en cours</p>\n )}\n <div className=\"my-4 columns-2 sm:columns-3 md:columns-4 space-y-3 gap-3\">\n {mediaLibrary.map((imageLibrairy, idx) => (\n <DisplayMedia\n key={idx}\n image={imageLibrairy}\n selectedImage={selectedImage}\n setSelectedImage={setSelectedImage}\n insertLogo={insertLogo}\n profile_picture={profile_picture}\n logoPosition={logoPosition}\n logoShape={logoShape}\n getPositionClasses={getPositionClasses}\n getShapeClasses={getShapeClasses}\n pixabay={false}\n />\n ))}\n </div>\n </div>\n ) : (\n <div className=\"flex overflow-y-auto w-full h-96 min-h-96 max-h-96\">\n <div className=\"p-12\">\n <span>Vous n'avez pas de média dans votre bibliothèque</span>\n </div>\n </div>\n )}\n {mediaLibrary && mediaLibrary.length > 0 && (\n <CancelSave\n isSaving={isSaving}\n selectedImage={selectedImage}\n onImageSelect={onImageSelect}\n uploadSelectedImage={uploadSelectedImage}\n />\n )}\n </>\n );\n};\n\nexport default MediaLibraryTab;\n","import React from \"react\";\nimport DisplayMedia from \"../_DisplayMedia\";\nimport CancelSave from \"../_CancelSave\";\n\ninterface CanvaPage {\n id: string;\n page_index: number;\n thumbnail: {\n width: number;\n height: number;\n url: string;\n };\n}\n\ninterface CanvaTabProps {\n refreshTokenRevokedMessage: string | null;\n folders: any[];\n foldersLoading: boolean;\n selectedFolder: string | null;\n setSelectedFolder: React.Dispatch<React.SetStateAction<string | null>>;\n selectedFolderItems: any[];\n selectedCanvaDesign: any | null;\n setSelectedCanvaDesign: React.Dispatch<React.SetStateAction<any | null>>;\n selectedCanvaPages: CanvaPage[];\n setSelectedCanvaPages: React.Dispatch<React.SetStateAction<CanvaPage[]>>;\n isExpanded: boolean;\n setIsExpanded: React.Dispatch<React.SetStateAction<boolean>>;\n isSaving: boolean;\n selectedImage: any;\n setSelectedImage: React.Dispatch<React.SetStateAction<any>>;\n fetchFolderItems: (folderId: string) => Promise<void>;\n fetchDesignPages: (designId: string) => Promise<void>;\n onImageSelect: React.Dispatch<React.SetStateAction<boolean>>;\n uploadSelectedImage: () => Promise<void>;\n loadMoreRootFolder: () => Promise<void>;\n fetchRootFolder: () => Promise<void>;\n rootFolderContinuationString: string | null;\n}\n\nconst CanvaTab: React.FC<CanvaTabProps> = ({\n refreshTokenRevokedMessage,\n folders,\n foldersLoading,\n selectedFolder,\n setSelectedFolder,\n selectedFolderItems,\n selectedCanvaDesign,\n setSelectedCanvaDesign,\n selectedCanvaPages,\n setSelectedCanvaPages,\n isExpanded,\n setIsExpanded,\n isSaving,\n selectedImage,\n setSelectedImage,\n fetchFolderItems,\n fetchDesignPages,\n onImageSelect,\n uploadSelectedImage,\n loadMoreRootFolder,\n fetchRootFolder,\n rootFolderContinuationString,\n}) => {\n return (\n <>\n {/* -------------------------------------------------- */}\n {/* GESTION DU TOKEN EXPIRE / RECONNEXION */}\n {/* -------------------------------------------------- */}\n {refreshTokenRevokedMessage ? (\n <div className=\"flex flex-col gap-4 items-end\">\n <div className=\"w-full p-4 bg-red-100 rounded\">\n <p className=\"text-red-700 text-center\">{refreshTokenRevokedMessage}</p>\n </div>\n <button\n onClick={() => (window.location.href = \"/fr/canva_sessions\")}\n className=\"btn-brand-primary w-fit\"\n >\n Reconnecter mon compte Canva\n </button>\n </div>\n ) : (\n <>\n {/* -------------------------------------------------- */}\n {/* LOADING INDICATOR */}\n {/* -------------------------------------------------- */}\n {foldersLoading && (\n <p className=\"text-black text-center mb-4\">\n Chargement des dossiers...\n </p>\n )}\n {/* -------------------------------------------------- */}\n {/* BARRE DE BOUTONS POUR LA RACINE + LES FOLDERS */}\n {/* -------------------------------------------------- */}\n {!foldersLoading && (\n <div className=\"flex gap-2 p-2 overflow-x-auto no-scrollbar\">\n <button\n key=\"root\"\n onClick={() => {\n setSelectedFolder(null)\n fetchRootFolder();\n }}\n className={`px-3 py-2 text-white rounded text-sm ${selectedFolder === null ? \"bg-brand_main\" : \"bg-brand_focus\"\n } hover:opacity-90 w-full`}\n >\n Dossier racine\n </button>\n {folders.map((item) => {\n if (item.folder?.id) {\n const folderId = item.folder.id;\n return (\n <button\n key={folderId}\n onClick={() => {\n setSelectedFolder(folderId);\n fetchFolderItems(folderId);\n }}\n className={`px-3 py-2 text-white rounded text-sm whitespace-nowrap ${selectedFolder === folderId ? \"bg-brand_main\" : \"bg-brand_focus\"\n } hover:opacity-90`}\n >\n {item.folder.name}\n </button>\n );\n }\n return null;\n })}\n </div>\n )}\n {/* -------------------------------------------------- */}\n {/* AUCUN FOLDER */}\n {/* -------------------------------------------------- */}\n {!foldersLoading && folders.length === 0 && (\n <div className=\"flex overflow-y-auto w-full flex-1\">\n <div className=\"my-4\">\n <span>Aucun design Canva dans ce dossier</span>\n </div>\n </div>\n )}\n {/* -------------------------------------------------- */}\n {/* AFFICHAGE DES DESIGNS DU FOLDER SELECTIONNÉ */}\n {/* -------------------------------------------------- */}\n {selectedFolderItems && selectedFolderItems.length > 0 ? (\n <div className=\"flex-1 overflow-y-auto\">\n <div className=\"my-4 columns-2 sm:columns-3 md:columns-4 space-y-3 gap-3\">\n {selectedFolderItems.map((folderItem) => {\n if (\n folderItem.type === \"design\" &&\n folderItem.design?.thumbnail?.url\n ) {\n const designImage = {\n public_id: folderItem.design.id,\n url: folderItem.design.thumbnail.url,\n filename: folderItem.design.title || \"Sans titre\",\n resource_type: \"image\",\n };\n return (\n <DisplayMedia\n key={folderItem.design.id}\n image={designImage}\n selectedImage={selectedImage}\n setSelectedImage={(image: any) => {\n setSelectedCanvaDesign(folderItem.design.id);\n setSelectedImage(image);\n if (\n folderItem.design.page_count &&\n folderItem.design.page_count > 1\n ) {\n fetchDesignPages(folderItem.design.id);\n } else {\n setSelectedCanvaPages([]);\n }\n }}\n insertLogo={false}\n profile_picture={null}\n logoPosition={null}\n logoShape={null}\n getPositionClasses={() => \"\"}\n getShapeClasses={() => \"\"}\n pixabay={false}\n />\n );\n }\n return null;\n })}\n </div>\n </div>\n ) : (\n !foldersLoading && (\n <div className=\"flex overflow-y-auto w-full h-96 min-h-96 max-h-96\">\n <div className=\"p-12\">\n <span>Aucun design Canva dans ce dossier</span>\n </div>\n </div>\n )\n )}\n {/* -------------------------------------------------- */}\n {/* Lien pour éditer le design (si design sélectionné) */}\n {/* -------------------------------------------------- */}\n {selectedCanvaDesign?.urls?.edit_url && (\n <div className=\"my-2\">\n <a\n href={selectedCanvaDesign.urls.edit_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"btn-brand-primary\"\n >\n Modifier le design\n </a>\n </div>\n )}\n {/* -------------------------------------------------- */}\n {/* BOUTON \"AFFICHER PLUS\" (si on est sur root + suite) */}\n {/* -------------------------------------------------- */}\n {selectedFolder === null && rootFolderContinuationString && (\n <div className=\"flex justify-center mt-4\">\n <button\n onClick={loadMoreRootFolder}\n className=\"font-medium text-gray-700 hover:text-indigo-700\"\n disabled={isSaving}\n >\n Afficher plus\n </button>\n </div>\n )}\n {/* -------------------------------------------------- */}\n {/* AFFICHAGE DES PAGES DU DESIGN (SI MULTI-PAGES) */}\n {/* -------------------------------------------------- */}\n {selectedCanvaPages.length > 1 && (\n <div className=\"border-t border-gray-300\">\n <div className=\"flex items-center justify-between px-2 py-2\">\n <p className=\"text-sm font-semibold\">\n Pages du design sélectionné :\n </p>\n <button\n className=\"text-indigo-500 hover:underline text-sm\"\n onClick={() => setIsExpanded(!isExpanded)}\n >\n {isExpanded ? \"Cacher\" : \"Afficher\"}\n </button>\n </div>\n {isExpanded && (\n <div\n className=\"px-2 py-2 max-h-[calc(80vh-200px)] overflow-y-auto\"\n style={{ height: \"auto\", maxHeight: \"calc(70vh - 200px)\" }}\n >\n <div className=\"flex flex-wrap gap-2 justify-start\">\n {selectedCanvaPages.map((page) => (\n <div key={page.id} className=\"relative w-24 h-32\">\n <img\n src={page.thumbnail.url}\n alt={`Page ${page.page_index}`}\n className=\"w-full h-full object-cover rounded border\"\n />\n <span className=\"absolute top-1 left-1 text-xs bg-white px-1 rounded shadow\">\n {page.page_index}\n </span>\n </div>\n ))}\n </div>\n </div>\n )}\n </div>\n )}\n {/* -------------------------------------------------- */}\n {/* BOUTONS \"ANNULER\" / \"VALIDER\" */}\n {/* -------------------------------------------------- */}\n <div className=\"flex justify-between items-center mt-4\">\n <CancelSave\n isSaving={isSaving}\n selectedImage={selectedImage}\n onImageSelect={onImageSelect}\n uploadSelectedImage={uploadSelectedImage}\n />\n </div>\n </>\n )}\n </>\n );\n};\n\nexport default CanvaTab;\n","import { useEffect, useState } from \"react\";\nimport { CanvaPage, LibraryImage, PixabayImage, PixabayVideo } from \"../types\";\n\nexport const usePixabaySearch = (\n profile_picture: any,\n setIsSaving: React.Dispatch<React.SetStateAction<boolean>>,\n uploadFiles: (files: File[]) => void,\n activeTab: \"search\" | \"library\" | \"canvas\",\n defaultSearch: string | null,\n query: string,\n selectedCanvaDesign: any | null,\n setQuery: React.Dispatch<React.SetStateAction<string>>,\n page: number,\n setPage: React.Dispatch<React.SetStateAction<number>>,\n setLoading: React.Dispatch<React.SetStateAction<boolean>>,\n setImages: React.Dispatch<React.SetStateAction<any[]>>,\n selectedCanvaPages: CanvaPage[],\n insertLogo: boolean,\n selectedImage: PixabayImage | LibraryImage | PixabayVideo | null,\n logoPosition:\n | \"center\"\n | \"top-left\"\n | \"top-right\"\n | \"top-center\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"bottom-center\"\n | \"center-right\"\n | \"center-left\",\n logoShape: \"circle\" | \"rounded-square\" | \"hexagon\"\n) => {\n const [ textToInsertOnImage, setTextToInsertOnImage] = useState<string>('');\n const [textColorOnImage, setTextColorOnImage] = useState<string>('');\n\n const urlToFile = async (\n url: string,\n filename: string,\n mimeType: string\n ): Promise<File> => {\n const response = await fetch(url);\n const blob = await response.blob();\n return new File([blob], filename, { type: mimeType });\n };\n\n const getPublicIdFromUrl = (url: string) => {\n const regex = /\\/upload\\/(?:v\\d+\\/)?(.+)\\.\\w+$/;\n const match = url.match(regex);\n return match ? match[1] : null;\n };\n\n const uploadAndGetPublicId = async (file: File) => {\n const timestamp = Date.now().toString();\n const signatureResponse = await fetch(\n `/api/sign_cloudinary_upload?timestamp=${timestamp}&return_delete_token=true`\n );\n const { signature } = await signatureResponse.json();\n const formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"api_key\", \"883898914556696\");\n formData.append(\"timestamp\", timestamp);\n formData.append(\"return_delete_token\", \"true\");\n formData.append(\"signature\", signature);\n const uploadResponse = await fetch(\n `https://api.cloudinary.com/v1_1/dcmekntwa/upload`,\n {\n method: \"POST\",\n body: formData,\n }\n );\n const uploadResult = await uploadResponse.json();\n return uploadResult.public_id;\n };\n\n async function generateAgentOverlay(\n display_name: string,\n email: string,\n phone: string,\n position: string,\n baseImage: string,\n agentPhoto: File,\n color: string\n ) {\n const gravityMap: Record<string, string> = {\n \"top-left\": \"north_west\",\n \"top-right\": \"north_east\",\n \"bottom-left\": \"south_west\",\n \"bottom-right\": \"south_east\",\n \"bottom-center\": \"south\",\n \"center-right\": \"east\",\n \"center-left\": \"west\",\n \"top-center\": \"north\",\n center: \"center\",\n };\n const cloudName = \"dcmekntwa\";\n const fileBaseImage = await urlToFile(\n baseImage,\n \"base_image.png\",\n \"image/png\"\n ); \n const basePublicId = await uploadAndGetPublicId(fileBaseImage);\n const agentPhotoPublicId = await uploadAndGetPublicId(agentPhoto);\n const resource_type = \"image\";\n const overlayPosition = gravityMap[position];\n const name = encodeURIComponent(display_name); // company.display_name\n const userEmail = encodeURIComponent(email); // company.email\n const phoneNumber = encodeURIComponent(phone); // company.phone\n const transformedUrl =\n `https://res.cloudinary.com/${cloudName}/${resource_type}/upload` +\n `/b_white,c_fill,w_1920,h_1080` +\n `/l_white_sy2frv,w_600,h_200,r_20/c_fill` +\n `/l_${agentPhotoPublicId},w_150,h_150/fl_layer_apply,g_north_west,x_20,y_25,r_20` +\n `/l_text:Roboto_45_bold_line_spacing_2:${name},co_rgb:${color}/fl_layer_apply,g_north_west,x_190,y_40` +\n `/l_text:Roboto_30_line_spacing_2:${userEmail},co_rgb:${color}/fl_layer_apply,g_north_west,x_190,y_90` +\n `/l_text:Roboto_30_line_spacing_2:${phoneNumber},co_rgb:${color}/fl_layer_apply,g_north_west,x_190,y_130` +\n `/fl_layer_apply,g_${overlayPosition},x_20,y_20` +\n `/${basePublicId}`;\n return transformedUrl;\n }\n\n const fetchOverlayImage = async (\n display_name: string,\n email: string,\n phone: string,\n position: string,\n baseImage: string,\n agentPhoto: File,\n color: string,\n ) => {\n const url = await generateAgentOverlay(\n display_name,\n email,\n phone,\n position,\n baseImage,\n agentPhoto,\n color\n );\n const finalOverlayImageUrl = await fetch(url);\n const blob = await finalOverlayImageUrl.blob();\n const file = new File([blob], \"overlay_image.png\", { type: \"image/png\" });\n uploadFiles([file]);\n };\n\n const insertLogoOnMedium = async (\n baseFile: File,\n options?: { video?: boolean }\n ) => {\n const resource_type = options?.video ? \"video\" : \"image\";\n const basePublicId = await uploadAndGetPublicId(baseFile); \n let logoPublicId =\n getPublicIdFromUrl(profile_picture) ||\n (await uploadAndGetPublicId(\n await urlToFile(profile_picture, \"logo.png\", \"image/png\")\n ));\n const gravityMap: Record<string, string> = {\n \"top-left\": \"north_west\",\n \"top-right\": \"north_east\",\n \"bottom-left\": \"south_west\",\n \"bottom-right\": \"south_east\",\n \"bottom-center\": \"south\",\n \"center-right\": \"east\",\n \"center-left\": \"west\",\n \"top-center\": \"north\",\n center: \"center\",\n };\n const radiusMap: Record<string, string> = {\n \"rounded-square\": \"r_20\",\n circle: \"r_max\",\n hexagon: \"r_max\"\n };\n const gravity = gravityMap[logoPosition];\n const radius = radiusMap[logoShape];\n const encodedText = formatTextForCloudinary(textToInsertOnImage);\n let transformedUrl;\n if (textToInsertOnImage === '') {\n transformedUrl = `https://res.cloudinary.com/dcmekntwa/${resource_type}/upload/b_white,c_fill,r_20,fl_layer_apply,l_${logoPublicId},${radius},w_200,g_${gravity},x_10,y_10/${basePublicId}`;\n } else {\n transformedUrl = `https://res.cloudinary.com/dcmekntwa/${resource_type}/upload/b_white,c_scale/l_${logoPublicId},${radius},w_200/fl_layer_apply,g_${gravity},x_20,y_20/l_text:Arial_80_bold_line_spacing_2:${encodedText},co_${textColorOnImage},w_700/fl_layer_apply,g_south_west,x_20,y_60/${basePublicId}`;\n }\n const response = await fetch(transformedUrl);\n const blob = await response.blob();\n return new File([blob], \"combined_image\");\n };\n\n const uploadSelectedImage = async () => {\n setIsSaving(true);\n try {\n\n // vidéo de Pixabay\n if (selectedImage && \"videos\" in selectedImage) {\n let baseFile = await urlToFile(\n selectedImage.videos?.tiny.url,\n \"video.mp4\",\n \"video/mp4\"\n );\n if (insertLogo) {\n baseFile = await insertLogoOnMedium(baseFile, { video: true });\n }\n uploadFiles([baseFile]);\n return;\n }\n\n // cas : design canva multi-pages\n if (selectedCanvaDesign && selectedCanvaPages.length > 1) {\n const finalFiles: File[] = [];\n for (const page of selectedCanvaPages) {\n const pageFile = await urlToFile(\n page.thumbnail.url,\n `canva_page_${page.page_index}.png`,\n \"image/png\"\n );\n let finalImageFile = pageFile;\n if (insertLogo) {\n finalImageFile = await insertLogoOnMedium(pageFile);\n }\n finalFiles.push(finalImageFile);\n }\n uploadFiles(finalFiles);\n return;\n }\n\n // image de la “libraryâ€\n if (!selectedImage) return;\n\n if (\"public_id\" in selectedImage) {\n const response = await fetch(\n selectedImage.url.replace(\"http://\", \"https://\")\n );\n const blob = await response.blob();\n let baseFile = new File([blob], selectedImage.filename, {\n type: `image/${selectedImage.format}`,\n });\n if (insertLogo) {\n baseFile = await insertLogoOnMedium(baseFile, {\n video: selectedImage.resource_type == \"video\",\n });\n }\n uploadFiles([baseFile]);\n return;\n }\n\n // image de Pixabay\n if (\"largeImageURL\" in selectedImage) {\n let baseFile = await urlToFile(\n selectedImage.largeImageURL,\n \"image.jpg\",\n \"image/jpeg\"\n );\n if (insertLogo) {\n baseFile = await insertLogoOnMedium(baseFile);\n }\n uploadFiles([baseFile]);\n return;\n }\n } catch (error) {\n console.error(\"Error uploading image:\", error);\n } finally {\n setIsSaving(false);\n }\n };\n\n const searchImages = async () => { \n const searchValue = query || defaultSearch;\n const apiKey = \"44481271-e0dcc26e9803ee1deb1260df5\";\n const url = `https://pixabay.com/api/?key=${apiKey}&q=${encodeURIComponent(\n searchValue || \"\"\n )}&image_type=photo&per_page=20&page=1&lang=fr`;\n\n try {\n setLoading(true);\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n\n const data = await response.json();\n if (data && data.hits && data.hits.length > 0) { \n setImages(data.hits);\n } else {\n console.log(\"Aucune image trouvée pour la recherche :\", searchValue);\n }\n\n setPage(1);\n } catch (error) {\n console.error(\"Error fetching Pixabay images\", error);\n } finally {\n setLoading(false);\n }\n };\n\n const searchVideos = async () => {\n const searchValue = query || defaultSearch;\n const apiKey = \"44481271-e0dcc26e9803ee1deb1260df5\";\n \n const url = `https://pixabay.com/api/videos/?key=${apiKey}&q=${encodeURIComponent(\n searchValue || \"\"\n )}&video_type=all&per_page=20&page=1&lang=fr`;\n \n try {\n setLoading(true);\n const response = await fetch(url);\n \n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n \n const data = await response.json();\n if (data && data.hits && data.hits.length > 0) {\n setImages(data.hits);\n } else {\n console.log(\"Aucune vidéo trouvée pour la recherche :\", searchValue);\n }\n \n setPage(1);\n } catch (error) {\n console.error(\"Error fetching Pixabay videos\", error);\n } finally {\n setLoading(false);\n }\n };\n\n const loadMoreImages = async () => {\n const apiKey = \"44481271-e0dcc26e9803ee1deb1260df5\";\n const nextPage = page + 1;\n const url = `https://pixabay.com/api/?key=${apiKey}&q=${encodeURIComponent(\n query\n )}&image_type=photo&per_page=20&page=${nextPage}`;\n try {\n setLoading(true);\n const response = await fetch(url);\n const data = await response.json();\n setImages((prevImages) => [...prevImages, ...data.hits]);\n setPage(nextPage);\n } catch (error) {\n console.error(\"Error fetching more Pixabay images\", error);\n } finally {\n setLoading(false);\n }\n };\n\n const loadMoreVideos = async () => {\n const apiKey = \"44481271-e0dcc26e9803ee1deb1260df5\";\n const nextPage = page + 1;\n const url = `https://pixabay.com/api/videos/?key=${apiKey}&q=${encodeURIComponent(\n query\n )}&video_type=all&per_page=20&page=${nextPage}&lang=fr`;\n try {\n setLoading(true);\n const response = await fetch(url);\n const data = await response.json();\n setImages((prev) => [...prev, ...data.hits]);\n setPage(nextPage);\n } catch (error) {\n console.error(\"Error fetching more Pixabay videos\", error);\n } finally {\n setLoading(false);\n }\n };\n\n const getPositionClasses = (position: string) => {\n switch (position) {\n case \"top-left\":\n return \"top-2 left-2\";\n case \"top-right\":\n return \"top-2 right-2\";\n case \"top-center\":\n return \"top-2 left-1/2 transform -translate-x-1/2\";\n case \"bottom-left\":\n return \"bottom-2 left-2\";\n case \"bottom-right\":\n return \"bottom-2 right-2\";\n case \"bottom-center\":\n return \"bottom-2 left-1/2 transform -translate-x-1/2\";\n case \"center\":\n return \"top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2\";\n case \"center-right\":\n return \"top-1/2 right-0 transform -translate-y-1/2 -translate-x-1/2\";\n case \"center-left\":\n return \"top-1/2 left-0 transform -translate-y-1/2 translate-x-1/2\";\n default:\n return \"top-2 left-2\";\n }\n };\n\n const getShapeClasses = (shape: string) => {\n switch (shape) {\n case \"rounded-square\":\n return \"rounded-sm\";\n case \"circle\":\n return \"rounded-full\";\n case \"hexagon\":\n return \"clip-hexagon\";\n default:\n return \"\";\n }\n };\n\n useEffect(() => {\n if (activeTab === \"search\") {\n if (defaultSearch) {\n setQuery(defaultSearch);\n }\n searchImages();\n }\n }, [activeTab]);\n\n return {\n textToInsertOnImage,\n setTextToInsertOnImage,\n textColorOnImage,\n setTextColorOnImage,\n uploadSelectedImage,\n searchImages,\n searchVideos,\n loadMoreImages,\n loadMoreVideos,\n getPositionClasses,\n getShapeClasses,\n fetchOverlayImage,\n };\n};\n\nfunction formatTextForCloudinary(text: string): string {\n const words = text.trim().split(/\\s+/); \n let result: string[] = [];\n\n for (let i = 0; i < words.length; i++) {\n result.push(encodeURIComponent(words[i])); \n\n if (i !== words.length - 1) {\n result.push('%20');\n }\n\n if ((i + 1) % 2 === 0 && i !== words.length - 1) {\n result.push('%0A');\n }\n }\n\n if (words.length % 2 !== 0) {\n result.push('%0A');\n }\n\n return result.join('');\n}\n","import { CanvaPage } from \"../types\";\n\nexport const useCanva = (\n canvaSessionState: any,\n isRootSelected: boolean | null,\n rootFolderContinuationString: string | null,\n setRootFolderContinuationString: React.Dispatch<React.SetStateAction<string | null>>,\n setRootFolder: React.Dispatch<any>,\n setFoldersLoading: React.Dispatch<React.SetStateAction<boolean>>,\n setCanvaSessionState: React.Dispatch<any>,\n setRefreshTokenRevokedMessage: React.Dispatch<React.SetStateAction<string | null>>,\n setFolders: React.Dispatch<React.SetStateAction<any[]>>,\n setFolderContinuation: React.Dispatch<React.SetStateAction<string | null>>,\n setSelectedCanvaPages: React.Dispatch<React.SetStateAction<CanvaPage[]>>,\n setSelectedFolderItems: React.Dispatch<React.SetStateAction<any[]>>\n) => {\n const refreshAccessToken = async () => {\n try { \n const response = await fetch(\"/canva/refresh\");\n if (response.ok) {\n const data = await response.json(); \n setCanvaSessionState((prev: any) => ({ ...prev, access_token: data.access_token })); \n } else {\n console.error(\"Failed to refresh Canva access token\");\n setRefreshTokenRevokedMessage(\"Votre session Canva a expiré. Veuillez reconnecter votre compte.\");\n }\n } catch (error) {\n console.error(\"Error refreshing access token:\", error);\n }\n };\n const fetchAllFolders = async () => {\n setFoldersLoading(true);\n try { \n const response = await fetch(\n \"https://api.canva.com/rest/v1/folders/root/items?item_types=folder\",\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${canvaSessionState.access_token}`,\n },\n }\n );\n if (response.status === 401) {\n await refreshAccessToken();\n }\n const data = await response.json();\n setFolders(data.items || []); \n setFolderContinuation(data.continuation || null);\n } catch (error) {\n console.error(\"Error fetching root folders:\", error);\n } finally {\n setFoldersLoading(false);\n }\n };\n const fetchRootFolder = async () => {\n try {\n const response = await fetch(\n \"https://api.canva.com/rest/v1/folders/root/items?item_types=design\",\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${canvaSessionState.access_token}`,\n },\n }\n );\n if (response.status === 401) {\n await refreshAccessToken();\n }\n const data = await response.json();\n setRootFolderContinuationString(data.continuation || null);\n setRootFolder(data.items || []);\n } catch (error) {\n console.error(\"Error fetching root folders:\", error);\n }\n };\n const loadMoreRootFolder = async () => {\n if (!rootFolderContinuationString) return;\n try {\n const response = await fetch(\n `https://api.canva.com/rest/v1/folders/root/items?item_types=design&continuation=${rootFolderContinuationString}`,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${canvaSessionState.access_token}`,\n },\n }\n );\n if (response.status === 401) {\n refreshAccessToken();\n return;\n }\n const data = await response.json();\n setRootFolder((prev: any) => [...(prev || []), ...(data.items || [])]);\n setRootFolderContinuationString(data.continuation || null);\n if (isRootSelected) {\n setSelectedFolderItems((prev) => [...prev, ...(data.items || [])]);\n }\n } catch (error) {\n console.error(\"Error loading more root folder items:\", error);\n }\n }; \n const fetchFolderItems = async (folderId: string) => {\n try { \n const response = await fetch(\n `https://api.canva.com/rest/v1/folders/${folderId}/items?item_types=design`,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${canvaSessionState.access_token}`,\n },\n }\n );\n if (response.status === 401) {\n await refreshAccessToken();\n }\n const data = await response.json();\n setSelectedFolderItems(data.items || []);\n setFolderContinuation(data.continuation || null);\n } catch (error) {\n console.error(\"Error fetching folder items:\", error);\n } \n };\n const fetchDesignPages = async (designId: string) => {\n try {\n const response = await fetch(\n `https://api.canva.com/rest/v1/designs/${designId}/pages?limit=50`,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${canvaSessionState.access_token}`,\n },\n }\n );\n const data = await response.json();\n setSelectedCanvaPages(data.items || []);\n } catch (error) {\n console.error(\"Error fetching design pages:\", error);\n }\n };\n return {\n loadMoreRootFolder,\n fetchRootFolder,\n fetchAllFolders,\n fetchFolderItems,\n fetchDesignPages\n }\n}","export default \"__VITE_ASSET__AwGrj1Vq__\"","import React, { useEffect, useState } from \"react\";\nimport useMultiCloudinaryUpload from \"../useMultiCloudinaryUpload\";\nimport {\n CanvaPage,\n Company,\n LibraryImage,\n PixabayImage,\n PixabayVideo,\n ProvisionalContentMedium,\n} from \"../../types\";\nimport { GlobeAltIcon, PhotoIcon } from \"@heroicons/react/24/outline\";\nimport { SiCanva } from \"react-icons/si\";\nimport CustomCloseButton from \"../CustomCloseButton\";\nimport PixabayTab from \"./PixabayTabs\";\nimport MediaLibraryTab from \"./MediaLibraryTabs\";\nimport CanvaTab from \"./CanvaTab\";\nimport { usePixabaySearch } from \"../../hook/usePixabaySearch\";\nimport { useCanva } from \"../../hook/useCanva\";\nimport CanvaLogo from \"../../../assets/images/CanvaIcon.png\"\n\ninterface MediaModalProps {\n onImageSelect: React.Dispatch<React.SetStateAction<boolean>>;\n hContentMedia: Record<number, ProvisionalContentMedium>;\n profile_picture: string;\n canvaSession: any;\n setHContentMedia: React.Dispatch<React.SetStateAction<Record<number, ProvisionalContentMedium>>>;\n afterAddFn: (contentMediaIds: number[]) => void;\n defaultSearch: string | null;\n company: Company;\n}\n\nconst MediaModal: React.FC<MediaModalProps> = ({\n onImageSelect,\n defaultSearch,\n hContentMedia,\n profile_picture,\n canvaSession,\n setHContentMedia,\n afterAddFn,\n company\n}) => {\n const [query, setQuery] = useState(\"\");\n const [images, setImages] = useState<PixabayImage[]>([]);\n const [mediaLibrary, setMediaLibrary] = useState<LibraryImage[] | null>(null);\n\n // États liés à Canva\n const [canvaSessionState, setCanvaSessionState] = useState(() => canvaSession);\n const [folders, setFolders] = useState<any[]>([]);\n const [rootFolder, setRootFolder] = useState<any | null>(null);\n const [rootFolderContinuationString, setRootFolderContinuationString] = useState<string | null>(null);\n const [foldersLoading, setFoldersLoading] = useState<boolean>(false);\n const [isExpanded, setIsExpanded] = useState(false);\n const [selectedFolder, setSelectedFolder] = useState<string | null>(null);\n const [folderContinuation, setFolderContinuation] = useState<string | null>(null);\n const [selectedFolderItems, setSelectedFolderItems] = useState<any[]>([]);\n const [refreshTokenRevokedMessage, setRefreshTokenRevokedMessage] = useState<string | null>(null);\n const [isRootSelected, setIsRootSelected] = useState<boolean>(true);\n const [selectedCanvaDesign, setSelectedCanvaDesign] = useState<any | null>(null);\n const [selectedCanvaPages, setSelectedCanvaPages] = useState<CanvaPage[]>([]);\n // États liés à Pixabay\n const [loading, setLoading] = useState(false);\n const [selectedImage, setSelectedImage] = useState<PixabayImage | LibraryImage | PixabayVideo | null>(null); \n const [insertLogo, setInsertLogo] = useState(false);\n const [page, setPage] = useState(1);\n const [isSaving, setIsSaving] = useState(false);\n\n const positions = [\n \"top-left\",\n \"top-center\",\n \"top-right\",\n \"center-left\",\n \"center\",\n \"center-right\",\n \"bottom-left\",\n \"bottom-center\",\n \"bottom-right\",\n ] as const;\n const [logoPosition, setLogoPosition] = useState<(typeof positions)[number]>(\"top-left\");\n const [logoShape, setLogoShape] = useState<\"rounded-square\" | \"circle\" | \"hexagon\">(\"rounded-square\");\n const [selectedLogo, setSelectedLogo] = useState(\"rounded-square\");\n const [activeTab, setActiveTab] = useState<\"search\" | \"library\" | \"canvas\">(\"search\");\n\n const { uploadFiles } = useMultiCloudinaryUpload({\n addMedia: (files) => {\n const lastCMId = Math.max(...Object.keys(hContentMedia).map((k) => parseInt(k, 10)), 0) + 1;\n const newCMs = files.map((file, index) => {\n const newId = lastCMId + index;\n return [newId, { provisional_id: newId, serialized_file: file }];\n }); \n setHContentMedia((prev) => ({ ...prev, ...Object.fromEntries(newCMs) }));\n afterAddFn(newCMs.map((c) => c[0]) as number[]);\n onImageSelect(false);\n },\n });\n const { loadMoreRootFolder, fetchRootFolder, fetchAllFolders, fetchFolderItems, fetchDesignPages } = useCanva(\n canvaSessionState,\n isRootSelected,\n rootFolderContinuationString,\n setRootFolderContinuationString,\n setRootFolder,\n setFoldersLoading,\n setCanvaSessionState,\n setRefreshTokenRevokedMessage,\n setFolders,\n setFolderContinuation,\n setSelectedCanvaPages,\n setSelectedFolderItems\n );\n useEffect(() => {\n const fetchImages = async () => {\n try {\n const response = await fetch(\"/content_media\", {\n headers: { Accept: \"application/json\" },\n });\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n const data = await response.json();\n setMediaLibrary(data.content_media.map((cm: any) => cm.serialized_file));\n } catch (error) {\n console.error(\"Error fetching media library:\", error);\n }\n };\n fetchImages();\n }, []);\n useEffect(() => {\n if (activeTab === \"canvas\") {\n fetchRootFolder();\n fetchAllFolders();\n setIsRootSelected(true); \n setSelectedFolderItems([]);\n setSelectedCanvaPages([]);\n setSelectedCanvaDesign(null);\n setSelectedImage(null);\n }\n }, [activeTab]);\n useEffect(() => {\n if (isRootSelected) {\n setSelectedFolderItems(rootFolder || []);\n }\n }, [isRootSelected, rootFolder]);\n useEffect(() => {\n if (activeTab === \"search\" || activeTab === \"library\") {\n setInsertLogo(false);\n }\n }, [activeTab]);\n const {\n textToInsertOnImage,\n setTextToInsertOnImage,\n textColorOnImage,\n setTextColorOnImage,\n uploadSelectedImage,\n searchImages,\n searchVideos,\n loadMoreImages,\n loadMoreVideos,\n getPositionClasses,\n getShapeClasses,\n fetchOverlayImage,\n } = usePixabaySearch(\n profile_picture,\n setIsSaving,\n uploadFiles,\n activeTab,\n defaultSearch,\n query,\n selectedCanvaDesign,\n setQuery,\n page,\n setPage,\n setLoading,\n setImages,\n selectedCanvaPages,\n insertLogo,\n selectedImage,\n logoPosition,\n logoShape\n );\n\n return (\n <div\n className=\"fixed inset-0 flex justify-center items-center bg-gray-700 bg-opacity-50 z-50\"\n onClick={() => !isSaving && onImageSelect(false)}\n >\n <div\n className=\"relative flex flex-col p-4 border border-gray-300 rounded-lg bg-white shadow-lg w-[768px] lg:min-w-3xl lg:max-w-3xl h-5/6 lg:h-3/4 overflow-y-auto\"\n onClick={(e) => e.stopPropagation()}\n >\n <CustomCloseButton onClickEvent={() => !isSaving && onImageSelect(false)} />\n <div className=\"flex mb-4 gap-4\">\n <button\n className={`flex gap-2 items-center text-center whitespace-nowrap border-b-2 p-4 text-sm font-medium ${\n activeTab === \"search\"\n ? \"border-indigo-500 text-indigo-500\"\n : \"border-transparent text-gray-500 hover:text-gray-700 hover:border-b-2 hover:border-gray-400\"\n }`}\n onClick={() => setActiveTab(\"search\")}\n >\n <GlobeAltIcon className=\"size-8 sm:size-5\" />\n <p className=\"hidden sm:inline truncate\">Banque d'image</p>\n </button>\n <button\n className={`flex gap-2 items-center text-center whitespace-nowrap border-b-2 p-4 text-sm font-medium ${\n activeTab === \"library\"\n ? \"border-indigo-500 text-indigo-500\"\n : \"border-transparent text-gray-500 hover:text-gray-700 hover:border-b-2 hover:border-gray-400\"\n }`}\n onClick={() => setActiveTab(\"library\")}\n >\n <PhotoIcon className=\"size-8 sm:size-5\" />\n <p className=\"hidden sm:inline truncate\">Ma bibliothèque</p>\n </button>\n <button\n className={`flex gap-2 items-center text-center whitespace-nowrap border-b-2 p-4 text-sm font-medium ${\n activeTab === \"canvas\"\n ? \"border-indigo-500 text-indigo-500\"\n : \"border-transparent text-gray-500 hover:text-gray-700 hover:border-b-2 hover:border-gray-400\"\n }`}\n onClick={() => setActiveTab(\"canvas\")}\n >\n <img src={CanvaLogo} className=\"size-8 sm:size-5\" />\n <p className=\"hidden sm:inline truncate\">Mes designs Canva</p>\n </button>\n </div>\n\n {activeTab === \"search\" && (\n <PixabayTab\n query={query}\n setQuery={setQuery}\n textToInsertOnImage={textToInsertOnImage}\n setTextToInsertOnImage={setTextToInsertOnImage}\n textColorOnImage={textColorOnImage}\n setTextColorOnImage={setTextColorOnImage}\n images={images}\n setImages={setImages}\n loading={loading}\n page={page}\n setPage={setPage}\n defaultSearch={defaultSearch}\n selectedImage={selectedImage}\n setSelectedImage={setSelectedImage}\n insertLogo={insertLogo}\n setInsertLogo={setInsertLogo}\n logoPosition={logoPosition}\n setLogoPosition={setLogoPosition as any} // a resoudre plus tard\n logoShape={logoShape}\n setLogoShape={setLogoShape}\n selectedLogo={selectedLogo}\n setSelectedLogo={setSelectedLogo}\n isSaving={isSaving}\n searchImages={searchImages}\n searchVideos={searchVideos}\n loadMoreImages={loadMoreImages}\n loadMoreVideos={loadMoreVideos}\n uploadSelectedImage={uploadSelectedImage}\n profile_picture={profile_picture}\n getPositionClasses={getPositionClasses}\n getShapeClasses={getShapeClasses}\n onImageSelect={onImageSelect}\n company={company}\n fetchOverlayImage={fetchOverlayImage}\n />\n )}\n\n {activeTab === \"library\" && (\n <MediaLibraryTab\n mediaLibrary={mediaLibrary}\n loading={loading}\n selectedImage={selectedImage}\n setSelectedImage={setSelectedImage}\n insertLogo={insertLogo}\n setInsertLogo={setInsertLogo}\n logoPosition={logoPosition}\n setLogoPosition={setLogoPosition as any} // a resoudre plus tard\n logoShape={logoShape}\n setLogoShape={setLogoShape}\n selectedLogo={selectedLogo}\n setSelectedLogo={setSelectedLogo}\n isSaving={isSaving}\n uploadSelectedImage={uploadSelectedImage}\n onImageSelect={onImageSelect}\n profile_picture={profile_picture}\n getPositionClasses={getPositionClasses}\n getShapeClasses={getShapeClasses}\n company={company}\n fetchOverlayImage={fetchOverlayImage}\n textToInsertOnImage={textToInsertOnImage}\n setTextToInsertOnImage={setTextToInsertOnImage}\n textColorOnImage={textColorOnImage}\n setTextColorOnImage={setTextColorOnImage}\n />\n )}\n\n {activeTab === \"canvas\" && (\n <>\n <CanvaTab\n refreshTokenRevokedMessage={refreshTokenRevokedMessage}\n folders={folders}\n foldersLoading={foldersLoading}\n selectedFolder={selectedFolder}\n setSelectedFolder={setSelectedFolder}\n selectedFolderItems={selectedFolderItems}\n selectedCanvaDesign={selectedCanvaDesign}\n setSelectedCanvaDesign={setSelectedCanvaDesign}\n selectedCanvaPages={selectedCanvaPages}\n setSelectedCanvaPages={setSelectedCanvaPages}\n isExpanded={isExpanded}\n setIsExpanded={setIsExpanded}\n isSaving={isSaving}\n selectedImage={selectedImage}\n setSelectedImage={setSelectedImage}\n fetchFolderItems={fetchFolderItems}\n fetchDesignPages={fetchDesignPages}\n onImageSelect={onImageSelect}\n uploadSelectedImage={uploadSelectedImage}\n loadMoreRootFolder={loadMoreRootFolder}\n fetchRootFolder={fetchRootFolder}\n rootFolderContinuationString={rootFolderContinuationString}\n />\n </>\n )}\n </div>\n </div>\n );\n};\n\nexport default MediaModal;\n","import { useCallback, RefObject, useState } from \"react\";\n\ntype StyleType = \"bold\" | \"italic\";\n\nconst boldMap: Record<string, string> = {\n 'A': 'ð€', 'B': 'ð', 'C': 'ð‚', 'D': 'ðƒ', 'E': 'ð„', 'F': 'ð…', 'G': 'ð†',\n 'H': 'ð‡', 'I': 'ðˆ', 'J': 'ð‰', 'K': 'ðŠ', 'L': 'ð‹', 'M': 'ðŒ', 'N': 'ð',\n 'O': 'ðŽ', 'P': 'ð', 'Q': 'ð', 'R': 'ð‘', 'S': 'ð’', 'T': 'ð“', 'U': 'ð”',\n 'V': 'ð•', 'W': 'ð—ª', 'X': 'ð—', 'Y': 'ð˜', 'Z': 'ð™',\n 'a': 'ðš', 'b': 'ð›', 'c': 'ðœ', 'd': 'ð', 'e': 'ðž', 'f': 'ðŸ', 'g': 'ð ',\n 'h': 'ð¡', 'i': 'ð¢', 'j': 'ð£', 'k': 'ð¤', 'l': 'ð¥', 'm': 'ð¦', 'n': 'ð§',\n 'o': 'ð¨', 'p': 'ð©', 'q': 'ðª', 'r': 'ð«', 's': 'ð¬', 't': 'ð', 'u': 'ð®',\n 'v': 'ð¯', 'w': 'ð°', 'x': 'ð±', 'y': 'ð²', 'z': 'ð³',\n 'À': 'ð€Ì€', 'Ã': 'ð€Ì', 'Â': 'ð€Ì‚', 'Ã': 'ð€Ìƒ', 'Ä': 'ð€Ìˆ', 'Ã…': 'ð€ÌŠ',\n 'à ': 'ðšÌ€', 'á': 'ðšÌ', 'â': 'ðšÌ‚', 'ã': 'ðšÌƒ', 'ä': 'ðšÌˆ', 'Ã¥': 'ðšÌŠ',\n 'È': 'ð„Ì€', 'É': 'ð„Ì', 'Ê': 'ð„Ì‚', 'Ë': 'ð„̈',\n 'è': 'ðžÌ€', 'é': 'ðžÌ', 'ê': 'ðžÌ‚', 'ë': 'ðžÌˆ',\n 'ÃŒ': 'ðˆÌ€', 'Ã': 'ðˆÌ', 'ÃŽ': 'ðˆÌ‚', 'Ã': 'ðˆÌˆ',\n 'ì': 'ð¢Ì€', 'Ã': 'ð¢Ì', 'î': 'ð¢Ì‚', 'ï': 'ð¢Ìˆ',\n 'Ã’': 'ðŽÌ€', 'Ó': 'ðŽÌ', 'Ô': 'ðŽÌ‚', 'Õ': 'ðŽÌƒ', 'Ö': 'ðŽÌˆ',\n 'ò': 'ð¨Ì€', 'ó': 'ð¨Ì', 'ô': 'ð¨Ì‚', 'õ': 'ð¨Ìƒ', 'ö': 'ð¨Ìˆ',\n 'Ù': 'ð”Ì€', 'Ú': 'ð”Ì', 'Û': 'ð”Ì‚', 'Ãœ': 'ð”̈',\n 'ù': 'ð®Ì€', 'ú': 'ð®Ì', 'û': 'ð®Ì‚', 'ü': 'ð®Ìˆ',\n 'Ç': 'ð‚̧', 'ç': 'ðœÌ§',\n 'Ñ': 'ð̃', 'ñ': 'ð§Ìƒ',\n 'ß': 'ð¬ð¬',\n '0': 'ðŸŽ', '1': 'ðŸ', '2': 'ðŸ', '3': 'ðŸ‘', '4': 'ðŸ’', '5': 'ðŸ“', '6': 'ðŸ”', '7': 'ðŸ•', '8': 'ðŸ–', '9': 'ðŸ—',\n '.': '.', ',': ',', ';': ';', ':': ':', '?': '?', '!': '!', '\\'': '\\'', '\"': '\"',\n '(': '(', ')': ')', '[': '[', ']': ']', '{': '{', '}': '}',\n '<': '<', '>': '>', '/': '/', '\\\\': '\\\\', '|': '|', '-': '-', '_': '_', '=': '=', '+': '+',\n '@': '@', '#': '#', '$': '$', '%': '%', '^': '^', '&': '&', '*': '*', '~': '~',\n ' ': ' ', '\\n': '\\n'\n}; \n\nconst italicMap: Record<string, string> = {\n 'A': 'ð´', 'B': 'ðµ', 'C': 'ð¶', 'D': 'ð·', 'E': 'ð¸', 'F': 'ð¹', 'G': 'ðº',\n 'H': 'ð»', 'I': 'ð¼', 'J': 'ð½', 'K': 'ð¾', 'L': 'ð¿', 'M': 'ð‘€', 'N': 'ð‘',\n 'O': 'ð‘‚', 'P': 'ð‘ƒ', 'Q': 'ð‘„', 'R': 'ð‘…', 'S': 'ð‘†', 'T': 'ð‘‡', 'U': 'ð‘ˆ',\n 'V': 'ð‘‰', 'W': 'ð‘Š', 'X': 'ð‘‹', 'Y': 'ð‘Œ', 'Z': 'ð‘',\n 'a': 'ð‘Ž', 'b': 'ð‘', 'c': 'ð‘', 'd': 'ð‘‘', 'e': 'ð‘’', 'f': 'ð‘“', 'g': 'ð‘”',\n 'h': 'â„Ž', 'i': 'ð‘–', 'j': 'ð‘—', 'k': 'ð‘˜', 'l': 'ð‘™', 'm': 'ð‘š', 'n': 'ð‘›',\n 'o': 'ð‘œ', 'p': 'ð‘', 'q': 'ð‘ž', 'r': 'ð‘Ÿ', 's': 'ð‘ ', 't': 'ð‘¡', 'u': 'ð‘¢',\n 'v': 'ð‘£', 'w': 'ð‘¤', 'x': 'ð‘¥', 'y': 'ð‘¦', 'z': 'ð‘§',\n 'À': 'ð´Ì€', 'Ã': 'ð´Ì', 'Â': 'ð´Ì‚', 'Ã': 'ð´Ìƒ', 'Ä': 'ð´Ìˆ', 'Ã…': 'ð´ÌŠ',\n 'à ': 'ð‘ŽÌ€', 'á': 'ð‘ŽÌ', 'â': 'ð‘ŽÌ‚', 'ã': 'ð‘ŽÌƒ', 'ä': 'ð‘ŽÌˆ', 'Ã¥': 'ð‘ŽÌŠ',\n 'È': 'ð¸Ì€', 'É': 'ð¸Ì', 'Ê': 'ð¸Ì‚', 'Ë': 'ð¸Ìˆ',\n 'è': 'ð‘’Ì€', 'é': 'ð‘’Ì', 'ê': 'ð‘’Ì‚', 'ë': 'ð‘’̈',\n 'ÃŒ': 'ð¼Ì€', 'Ã': 'ð¼Ì', 'ÃŽ': 'ð¼Ì‚', 'Ã': 'ð¼Ìˆ',\n 'ì': 'ð‘–Ì€', 'Ã': 'ð‘–Ì', 'î': 'ð‘–Ì‚', 'ï': 'ð‘–̈',\n 'Ã’': 'ð‘‚Ì€', 'Ó': 'ð‘‚Ì', 'Ô': 'ð‘‚Ì‚', 'Õ': 'ð‘‚̃', 'Ö': 'ð‘‚̈',\n 'ò': 'ð‘œÌ€', 'ó': 'ð‘œÌ', 'ô': 'ð‘œÌ‚', 'õ': 'ð‘œÌƒ', 'ö': 'ð‘œÌˆ',\n 'Ù': 'ð‘ˆÌ€', 'Ú': 'ð‘ˆÌ', 'Û': 'ð‘ˆÌ‚', 'Ãœ': 'ð‘ˆÌˆ',\n 'ù': 'ð‘¢Ì€', 'ú': 'ð‘¢Ì', 'û': 'ð‘¢Ì‚', 'ü': 'ð‘¢Ìˆ',\n 'Ç': 'ð¶Ì§', 'ç': 'ð‘̧',\n 'Ñ': 'ð‘̃', 'ñ': 'ð‘›Ìƒ',\n 'ß': 'ð‘ ð‘ ',\n '0': 'ðŸŽ', '1': 'ðŸ', '2': 'ðŸ', '3': 'ðŸ‘', '4': 'ðŸ’', '5': 'ðŸ“', '6': 'ðŸ”', '7': 'ðŸ•', '8': 'ðŸ–', '9': 'ðŸ—',\n '.': '.', ',': ',', ';': ';', ':': ':', '?': '?', '!': '!', '\\'': '\\'', '\"': '\"',\n '(': '(', ')': ')', '[': '[', ']': ']', '{': '{', '}': '}',\n '<': '<', '>': '>', '/': '/', '\\\\': '\\\\', '|': '|', '-': '-', '_': '_', '=': '=', '+': '+',\n '@': '@', '#': '#', '$': '$', '%': '%', '^': '^', '&': '&', '*': '*', '~': '~',\n ' ': ' ', '\\n': '\\n'\n};\n\nfunction transformText(text: string, styles: StyleType[]): string {\n let finalStyle: StyleType | null = null;\n \n if (styles.includes(\"bold\")) {\n finalStyle = \"bold\";\n } else if (styles.includes(\"italic\")) {\n finalStyle = \"italic\";\n } \n \n return text.split(\"\").map((char) => {\n let transformedChar = char;\n if (finalStyle === \"bold\" && boldMap[transformedChar]) {\n transformedChar = boldMap[transformedChar];\n } else if (finalStyle === \"italic\" && italicMap[transformedChar]) {\n transformedChar = italicMap[transformedChar];\n }\n return transformedChar;\n }).join(\"\");\n}\n\ninterface UseTextStyles {\n isBold: boolean;\n isItalic: boolean;\n toggleBold: () => void;\n toggleItalic: () => void;\n handleInput: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\n applySelectedStyle: (style: StyleType) => void; \n}\n\nexport function useTextStyles(\n inputRef: RefObject<HTMLTextAreaElement>,\n value: string,\n onChange: (newValue: string) => void\n): UseTextStyles {\n const [isBold, setIsBold] = useState(false);\n const [isItalic, setIsItalic] = useState(false);\n\n const toggleBold = useCallback(() => {\n setIsBold(prev => !prev);\n setIsItalic(false);\n }, []);\n \n const reverseBoldMap = Object.fromEntries(\n Object.entries(boldMap).map(([normalChar, boldChar]) => [boldChar, normalChar])\n );\n \n const reverseItalicMap = Object.fromEntries(\n Object.entries(italicMap).map(([normalChar, italicChar]) => [italicChar, normalChar])\n );\n \n function isBoldText(text: string) {\n // On considère le texte comme \"entièrement gras\" si tous les caractères sont dans le reverseBoldMap\n return [...text].every(char => reverseBoldMap[char] !== undefined || char === '\\n' || char === ' ');\n }\n \n function isItalicText(text: string) {\n return [...text].every(char => reverseItalicMap[char] !== undefined || char === '\\n' || char === ' ');\n }\n \n function revertBoldText(text: string) {\n return [...text].map(char => reverseBoldMap[char] || char).join('');\n }\n \n function revertItalicText(text: string) {\n return [...text].map(char => reverseItalicMap[char] || char).join('');\n }\n\n const toggleItalic = useCallback(() => {\n setIsItalic(prev => !prev);\n setIsBold(false);\n }, []);\n\n const handleInput = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event.target.value);\n },\n [onChange]\n );\n\n const applySelectedStyle = useCallback((style: StyleType) => {\n if (!inputRef.current) return;\n const { selectionStart, selectionEnd } = inputRef.current;\n if (selectionStart === null || selectionEnd === null || selectionStart === selectionEnd) {\n return;\n }\n \n const before = value.slice(0, selectionStart);\n const selected = value.slice(selectionStart, selectionEnd);\n const after = value.slice(selectionEnd);\n \n let newValue;\n if (style === \"bold\") {\n if (isBoldText(selected)) {\n // Le texte est déjà en gras, on le remet en normal\n const reverted = revertBoldText(selected);\n newValue = before + reverted + after;\n } else {\n // Le texte n'est pas en gras, on le met en gras\n const transformed = transformText(selected, [\"bold\"]);\n newValue = before + transformed + after;\n }\n } else if (style === \"italic\") {\n if (isItalicText(selected)) {\n // Le texte est déjà en italique, on le remet en normal\n const reverted = revertItalicText(selected);\n newValue = before + reverted + after;\n } else {\n // Le texte n'est pas en italique, on le met en italique\n const transformed = transformText(selected, [\"italic\"]);\n newValue = before + transformed + after;\n }\n } else {\n return;\n }\n \n onChange(newValue);\n setTimeout(() => {\n if (inputRef.current) {\n inputRef.current.focus();\n inputRef.current.selectionStart = selectionStart;\n inputRef.current.selectionEnd = selectionStart + (newValue.length - (before.length + after.length));\n }\n }, 0);\n }, [inputRef, value, onChange]);\n \n return {\n isBold,\n isItalic,\n toggleBold,\n toggleItalic,\n handleInput,\n applySelectedStyle\n };\n}","import React, { useEffect, useState } from \"react\";\n\n// 📌 Hook pour gérer les dimensions du textarea\nexport const useTextareaResize = (\n initialValues: {\n width: string;\n height: string;\n ref: React.RefObject<HTMLTextAreaElement> | null;\n } = { width: \"100%\", height: \"300px\", ref: null }\n) => {\n const [textareaSize, setTextareaSize] = useState(initialValues);\n // Permet d'adapter la hauteur de la div en dessous du textarea\n useEffect(() => {\n function outputsize() {\n setTextareaSize({\n width:\n `${initialValues.ref?.current?.offsetWidth}px` || initialValues.width,\n height:\n `${initialValues.ref?.current?.offsetHeight}px` ||\n initialValues.height,\n ref: initialValues.ref,\n });\n }\n outputsize();\n\n if (initialValues.ref?.current) {\n new MutationObserver(outputsize).observe(initialValues.ref.current, {\n attributes: true,\n attributeFilter: [\"style\"],\n });\n }\n }, []);\n return { textareaSize, setTextareaSize };\n};\n\n// 📌 Hook pour gérer les mentions dans le texte\nexport const useMentionsAndVariables = (\n mentions: Record<string, { name: string }> | undefined,\n variables: Record<string, string | null>\n) => {\n // Remplace les @nom par $MENTION et les $VARIABLE par des $\n const normalizeMentionsAndVariables = (text: string) => {\n let parsedInput = text;\n Object.entries(mentions || {}).forEach(([key, value]) => {\n parsedInput = parsedInput?.replaceAll(`@${value.name}`, key);\n });\n Object.entries(variables || {}).forEach(([key, value]) => {\n if (!value) return;\n parsedInput = parsedInput?.replaceAll(value, key);\n });\n return parsedInput;\n };\n\n // Remplace les $MENTION et les $VARIABLE par des <span>\n const generateMentionOrVariableSpans = (input: string) => {\n const parsedInput = input\n ?.replaceAll(/(\\$MENTION\\d+)/g, (match) => {\n const mentionName = mentions?.[match]?.name;\n return mentionName\n ? `<span class=\"bg-brand_focus bg-opacity-20 text-brand_darker rounded-md\">@${mentionName}</span>`\n : match;\n })\n .replaceAll(/(\\$\\w+)/g, (match) => {\n const variableValue = variables?.[match];\n return variableValue\n ? `<span class=\"underline decoration-dashed underline-offset-2\">${variableValue}</span>`\n : match;\n });\n return (\n <div\n dangerouslySetInnerHTML={{\n __html: parsedInput,\n }}\n />\n );\n };\n\n // Affiche les noms des mentions (ex: $MENTION1 -> @nom)\n // ou les valeurs des variables (ex: $VARIABLE -> valeur)\n const displayMentionOrVariableNames = (input: string) => {\n const normalizedInput = input\n ?.replace(/\\$(MENTION\\d+)/g, (match) => {\n return mentions?.[match]?.name ? `@${mentions[match].name}` : match;\n })\n .replaceAll(/(\\$\\w+)/g, (match) => {\n return variables?.[match] ? variables[match] : match;\n });\n return normalizedInput;\n };\n\n return {\n normalizeMentionsAndVariables,\n generateMentionOrVariableSpans,\n displayMentionOrVariableNames,\n };\n};\n","import React from \"react\";\nimport CustomPopover from \"../../Popover\";\nimport Tooltip from \"../../Tooltip\";\n\ntype Props = {\n variables: Record<string, string | null> | undefined;\n insert: (inserted: string, inserted_length?: number) => void;\n};\n\nconst VariableSelector = ({ variables, insert }: Props) => {\n const disabled = Object.keys(variables || {}).length === 0;\n return (\n <CustomPopover\n disabled={disabled}\n position=\"top\"\n button={\n <Tooltip text=\"Insérer des variables personnelles\" position=\"bottom\">\n <div\n className={`relative flex items-center justify-center text-base bg-gray-100 rounded-full ${\n disabled ? \"text-gray-400\" : \"text-brand_main\"\n } size-9 hover:bg-gray-200`}\n >\n $V\n </div>\n </Tooltip>\n }\n panelClasses=\"drop-shadow-sm\"\n >\n <div\n className={`flex flex-col py-2 border rounded bg-white h-32 overflow-y-auto`}\n >\n {Object.keys(variables || {}).map((variable) => {\n const variableLength = variables?.[variable]?.length;\n return (\n <button\n key={`variable_${variable}`}\n className=\"px-4 py-1 text-sm font-medium text-gray-700 cursor-pointer hover:text-brand_main hover:bg-gray-100\"\n onClick={() =>\n insert(variable, variableLength ? variableLength + 1 : 1)\n }\n >\n {variable}\n </button>\n );\n })}\n </div>\n </CustomPopover>\n );\n};\n\nexport default VariableSelector;\n","import React, { memo, useEffect, useMemo, useRef, useState } from \"react\";\nimport { getCSRFToken } from \"./utils/various\";\nimport {\n Body,\n Company,\n Entity,\n ProvisionalBody,\n ProvisionalContentMedium,\n} from \"../types\";\nimport ContentMediasUploader from \"./ContentMediasUploader\";\nimport BodyLink, { ctaOptions } from \"./BodyLinks\";\nimport {\n FaceSmileIcon,\n TrashIcon,\n EllipsisVerticalIcon,\n CloudArrowDownIcon,\n PhotoIcon,\n XMarkIcon,\n UsersIcon,\n BeakerIcon,\n} from \"@heroicons/react/24/outline\";\nimport useChatGPT from \"../hook/useChatGpt\";\nimport EmojiPicker from \"@emoji-mart/react\";\nimport Modal from \"./Modal\";\nimport CustomCloseButton from \"./CustomCloseButton\";\nimport ModalInput from \"./ModalInput\";\nimport { HiddenInput } from \"./DynamicFormGenerator\";\nimport Tooltip from \"./Tooltip\";\nimport { GoRepoForked } from \"react-icons/go\";\nimport CustomPopover from \"./Popover\";\nimport { MediaModal } from \"./MediaModal\";\nimport { useTextStyles } from \"../hook/useTextStyles\";\nimport { useCaret, useMentionsAndVariables } from \"./utils/publisher/utils\";\nimport VariableSelector from \"./Publisher/variables/VariableSelector\";\n\ntype Props = {\n setHContentMedia: React.Dispatch<\n React.SetStateAction<Record<number, ProvisionalContentMedium>>\n >;\n index: number;\n profile_picture: string;\n hContentMedia: Record<number, ProvisionalContentMedium>;\n canvaSession: any;\n isActive: boolean;\n isLast: boolean;\n isStephanePlazaAccount: boolean;\n body: ProvisionalBody;\n setHBodies: React.Dispatch<\n React.SetStateAction<Record<number, ProvisionalBody>>\n >;\n onRemoval?: (bPid: ProvisionalBody[\"provisional_id\"]) => void;\n onDuplication?: (bPid: ProvisionalBody[\"provisional_id\"]) => void;\n defaultPictureSearch: string;\n targetsSelectorRenderer: (\n bPid: ProvisionalBody[\"provisional_id\"],\n buttonUI?: JSX.Element\n ) => JSX.Element;\n mentionSelectorRenderer?: (\n body: ProvisionalBody,\n insert: Function\n ) => JSX.Element;\n mentions?: { [k: string]: Entity };\n variables?: Record<string, string | null>;\n company: Company;\n};\n\nexport const BodyEditor = memo(\n ({\n body,\n setHBodies,\n onDuplication,\n onRemoval,\n isActive,\n canvaSession,\n profile_picture,\n isLast,\n isStephanePlazaAccount,\n targetsSelectorRenderer,\n hContentMedia,\n index,\n setHContentMedia,\n defaultPictureSearch,\n mentionSelectorRenderer,\n mentions,\n variables,\n company,\n }: Props) => {\n const originalId = useMemo(() => body.id, []);\n\n // récupéré à la création et ne changera pas\n const originalCmPidByBmId = useMemo(\n () =>\n Object.fromEntries(\n body.body_media_attributes\n .filter((bm) => bm.id)\n .map((bm) => [bm.content_medium_provisional_id, bm.id])\n ),\n []\n ) as Record<number, number>;\n\n const updateBody = (data: Object) => {\n const pid = body.provisional_id;\n setHBodies((prev) => ({ ...prev, [pid]: { ...prev[pid], ...data } }));\n };\n\n const duplicateBody = ({ id, ...body }: ProvisionalBody) => {\n let newBodyPid: number | null = null;\n const body_media_attributes = body.body_media_attributes.map(\n ({ id, ...b }) => ({ ...b })\n );\n setHBodies((prev) => {\n newBodyPid =\n Math.max(...Object.keys(prev).map((k) => parseInt(k)), 0) + 1;\n return {\n ...prev,\n [newBodyPid]: {\n ...body,\n message: `${body.message || \"\"}`,\n provisional_id: newBodyPid,\n body_media_attributes,\n },\n };\n });\n // je reconnais que c'est tordu mais comme ça on a accès à la valeur\n setTimeout(() => {\n if (onDuplication && newBodyPid) {\n onDuplication(newBodyPid);\n }\n }, 0);\n };\n\n const deleteBody = (body: ProvisionalBody) => {\n onRemoval && onRemoval(body.provisional_id);\n // On remove à l'assignation\n setHBodies(({ [body.provisional_id]: _, ...keep }) => keep);\n };\n\n const beforeRemoveFn = (\n contentMediaId: ProvisionalContentMedium[\"provisional_id\"],\n bodyId: ProvisionalBody[\"provisional_id\"]\n ) => {\n setHBodies((prev) => ({\n ...prev,\n [bodyId]: {\n ...prev[bodyId],\n body_media_attributes: prev[bodyId]?.body_media_attributes?.filter(\n (cm) => cm.content_medium_provisional_id !== contentMediaId\n ),\n },\n }));\n };\n\n const afterAddFn = (\n contentMediaIds: ProvisionalContentMedium[\"provisional_id\"][],\n bodyId: ProvisionalBody[\"provisional_id\"]\n ) => {\n setHBodies((prev) => {\n const thisbody = prev[bodyId];\n const lastCMPosition =\n thisbody?.body_media_attributes?.slice(-1)[0]?.position || 0;\n const newBodyContentMedias = contentMediaIds.map((id, index) => ({\n content_medium_provisional_id: id,\n position: lastCMPosition + index + 1,\n }));\n return {\n ...prev,\n [bodyId]: {\n ...thisbody,\n body_media_attributes: [\n ...thisbody.body_media_attributes,\n ...newBodyContentMedias,\n ],\n },\n };\n });\n };\n\n // useEffect(() => {\n // setTimeout(() => {\n // setShowInfoMessage(false);\n // }, 30000)\n // } , [])\n\n const afterMoveFn = (\n contentMediaId: number,\n newPosition: number,\n bodyProvisionalId: number\n ) => {\n setHBodies((prev) => {\n const thisBody = prev[bodyProvisionalId];\n const currentPosition = thisBody.body_media_attributes.find(\n (cm) => cm.content_medium_provisional_id === contentMediaId\n )?.position as number;\n // Donne un number > 0 si on attribue une position supérieure à la précdente\n const diffPosition = newPosition - (currentPosition as number);\n // console.log(`diffPosition: ${diffPosition}, currentPosition: ${currentPosition}, newPosition: ${newPosition}`)\n // Répartition des nouvelles positions\n const newBodyContentMedias = thisBody?.body_media_attributes?.map(\n (cm) => {\n // On édite une nouvelle poisition pour le CM modifié\n if (cm.content_medium_provisional_id === contentMediaId) {\n return {\n content_medium_provisional_id: contentMediaId,\n position: newPosition,\n };\n } else {\n // On change la position des autres CM\n // si on augmente la position du CM modifié\n if (diffPosition > 0) {\n // On ne touche pas à ceux qui sont avant la currentPosition et après la newPosition\n if (\n cm.position < currentPosition &&\n cm.position > newPosition\n ) {\n return cm;\n }\n // On va prendre ceux qui sont entre la current (non inclu) et la new position (inclu)\n // Et on va les faire reculer (-1)\n if (\n cm.position > currentPosition &&\n cm.position <= newPosition\n ) {\n return {\n content_medium_provisional_id:\n cm.content_medium_provisional_id,\n position: cm.position - 1,\n };\n }\n }\n if (diffPosition < 0) {\n // On ne touche pas à ceux qui sont avant la currentPosition et après la newPosition\n if (\n cm.position > currentPosition &&\n cm.position < newPosition\n ) {\n return cm;\n }\n // On va prendre ceux qui sont entre la current (non inclu) et la new position (inclu)\n // Et on va les faire avancer (+1)\n if (\n cm.position < currentPosition &&\n cm.position >= newPosition\n ) {\n return {\n content_medium_provisional_id:\n cm.content_medium_provisional_id,\n position: cm.position + 1,\n };\n }\n }\n return cm;\n }\n }\n );\n // On met a jour le body avec les nouvelles positions et on les trie\n const sortedCM = newBodyContentMedias.sort(\n (a, b) => a.position - b.position\n );\n return {\n ...prev,\n [bodyProvisionalId]: {\n ...thisBody,\n body_media_attributes: sortedCM,\n },\n };\n });\n };\n\n const computeFocus = (body: ProvisionalBody) => {\n const media = body.body_media_attributes?.map(\n (bma) => hContentMedia[bma.content_medium_provisional_id]\n );\n const linkUrl = body?.link_url;\n\n if (linkUrl) {\n return { focus: \"link\", accept: \"image/*\" };\n } else if (\n media.filter(\n (m) => !m?.destroy && m?.serialized_file.resource_type === \"video\"\n ).length > 0\n ) {\n return { focus: \"video\", accept: \"video/*\" };\n } else if (\n media.filter(\n (m) => !m?.destroy && m?.serialized_file.resource_type === \"image\"\n ).length > 1\n ) {\n return { focus: \"images\", accept: \"image/*\" };\n } else if (\n media.filter(\n (m) => !m?.destroy && m?.serialized_file.resource_type === \"image\"\n ).length > 0\n ) {\n return { focus: \"image\", accept: \"image/*\" };\n } else {\n return { focus: \"none\", accept: \"image/*,video/*\" };\n }\n };\n\n const { focus, accept } = computeFocus(body);\n const disabled = useMemo(\n () =>\n [\"video\", \"link\"].includes(focus) &&\n body.body_media_attributes.length > 0,\n [focus, body]\n );\n\n const [openCmModal, setOpenCmModal] = useState(false);\n const [openMediaModal, setOpenMediaModal] = useState(false);\n const [mediaModalSelectedImage, setMediaModalSelectedImage] =\n useState<File | null>(null);\n // TextArea Buttons\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const fakeInputRef = useRef<HTMLDivElement>(null);\n\n const insert = (inserted: string, inserted_length: number = 0) => {\n inserted_length = inserted_length || inserted.length; // handle mentions (inserted length is smaller than visible length)\n if (inputRef?.current) {\n const { selectionStart, selectionEnd, value } = inputRef.current;\n if (\n typeof selectionStart === \"number\" &&\n typeof selectionEnd === \"number\"\n ) {\n // typeOf car 0 est compté comme false\n const newValue = (inputRef.current.value = `${value.slice(\n 0,\n selectionStart\n )}${inserted}${value.slice(selectionEnd)}`);\n\n setHBodies((prev) => ({\n ...prev,\n [body.provisional_id]: {\n ...body,\n message: normalizeMentionsAndVariables(newValue),\n },\n }));\n inputRef?.current?.focus();\n setTimeout(() => {\n // Visiblement nécessaire\n if (inputRef.current) {\n inputRef.current.selectionStart =\n selectionStart + inserted_length;\n inputRef.current.selectionEnd = selectionStart + inserted_length;\n }\n }, 200);\n }\n }\n };\n\n const [emojiSelectorOpen, setEmojiSelectorOpen] = useState(false);\n const onEmojiSelect = (e: any) => {\n insert(String.fromCodePoint(parseInt(e.unified, 16)));\n setEmojiSelectorOpen(false);\n };\n // AI\n const [prompt, setPrompt] = useState(\"\");\n const [gptSelectionStart, setGptSelectionStart] = useState<number | null>(\n null\n );\n const [textAfterSelection, setTextAfterSelection] = useState<string | null>(\n null\n );\n const [showAiModal, setShowAiModal] = useState<boolean>(false);\n const {\n error: gptError,\n fetchChatGPTResponse,\n isWriting: gptIsWriting,\n response: gptResponse,\n } = useChatGPT({\n apiRoute: \"/bodies/openai_call\",\n companyContent: window.location.href.includes(\"/company_contents/new\"),\n });\n // smartlink\n const [showSmartLinkModal, setShowSmartLinkModal] = useState(false);\n const [smartLinkUrl, setSmartLinkUrl] = useState(\"\");\n const [smartLinkLoading, setSmartLinkLoading] = useState(false);\n const [smartLinkError, setSmartLinkError] = useState<string | null>(null);\n const toggleSmartlinkModal = () => {\n setShowSmartLinkModal(!showSmartLinkModal);\n setSmartLinkError(null);\n setSmartLinkUrl(\"\");\n };\n\n // Si on a une réponse de ChatGPT, on insère le texte dans le message du body\n useEffect(() => {\n if (!gptIsWriting) {\n setGptSelectionStart(null);\n }\n if (gptIsWriting && gptSelectionStart === null) {\n setGptSelectionStart(inputRef?.current?.selectionStart as number);\n setTextAfterSelection(\n body?.message?.slice(inputRef?.current?.selectionStart as number) ||\n \"\"\n );\n }\n if (gptResponse?.text && gptSelectionStart !== null) {\n if (showAiModal) {\n setShowAiModal(false);\n } // on ferme la modale pour voir le beau texte s'écrire\n const start = body?.message?.slice(0, gptSelectionStart);\n // Mise à jour de l'état (setHBodies) avec le nouveau texte\n setHBodies((prev) => ({\n ...prev,\n [body.provisional_id]: {\n ...body,\n message: start + gptResponse?.text + textAfterSelection,\n },\n }));\n }\n }, [gptResponse, gptIsWriting]);\n\n // ça a l'air de marcher sans magiquement mais on met quand même :\n const [emojiData, setEmojiData] = useState({});\n useEffect(() => {\n (async () => {\n const response = await fetch(\n \"https://cdn.jsdelivr.net/npm/@emoji-mart/data\"\n );\n setEmojiData(await response.json());\n })();\n }, []);\n const insertionVariables = useMemo(() => {\n return [\n \"$NOM\",\n \"$ENTREPRISE\",\n \"$SITE\",\n \"$MAIL\",\n \"$TEL\",\n \"$HASHTAG\",\n \"$CODE\",\n \"$LANDING\",\n \"$NEWSLETTER\",\n \"$APILINK\",\n \"$PROMOCODE\",\n \"$SPONSORLINK\",\n ];\n }, []);\n\n // Links\n const removeLink = () =>\n updateBody({ link_url: \"\", link_description: \"\", link_cta: \"\" });\n\n // Utils\n const newPidForH = (h: Record<number, Object>) =>\n Math.max(...Object.keys(h).map((k) => parseInt(k)), 0) + 1;\n\n const replaceBodyWithRemote = async () => {\n setSmartLinkLoading(true);\n const response = await fetch(\"/bodies/generate_from_url\", {\n headers: {\n \"X-CSRF-Token\": getCSRFToken(),\n \"Content-Type\": \"application/json\",\n },\n method: \"post\",\n body: JSON.stringify({ url: smartLinkUrl }),\n });\n const pid = body.provisional_id;\n if (!response.ok) {\n setSmartLinkError(\"Nous n'avons pas réussi à récupérer ce contenu\");\n } else {\n const resBody: Body = await response.json();\n const body_media_attributes: ProvisionalBody[\"body_media_attributes\"] =\n [];\n resBody.body_media?.forEach((bm) => {\n const newBm = {};\n // medium exists ?\n const existingCm = Object.values(hContentMedia).find(\n (cm) => cm.id === bm.content_medium.id\n );\n const newCmPid = newPidForH(hContentMedia);\n if (!existingCm) {\n // le cm n'est pas encore dans le form (quasi sûr), on le crée\n const cm = { ...bm.content_medium, provisional_id: newCmPid };\n setHContentMedia((prev) => ({\n ...prev,\n [newCmPid.toString()]: cm,\n }));\n }\n body_media_attributes.push({\n id: bm.id,\n position: bm.position || 0,\n content_medium_provisional_id:\n existingCm?.provisional_id || newCmPid,\n });\n });\n const { body_media, ...newBody } = {\n ...resBody,\n body_media_attributes,\n provisional_id: pid,\n };\n setHBodies((prev) => ({ ...prev, [body.provisional_id]: newBody }));\n setTimeout(() => setShowSmartLinkModal(false), 500);\n }\n setSmartLinkLoading(false);\n };\n\n const onChangeTextArea = (newValue: string) => {\n setHBodies((prev) => ({\n ...prev,\n [body.provisional_id]: { ...body, message: newValue },\n }));\n };\n\n const { applySelectedStyle } = useTextStyles(\n inputRef,\n body.message || \"\",\n onChangeTextArea\n );\n\n const bodyCta = useMemo(\n () => ctaOptions.filter((c) => c.value === body?.link_cta)[0],\n [body?.link_cta]\n );\n\n const updatePostType = (value: \"post\" | \"post_and_story\" | \"story\") => {\n setHBodies((prevBodies) => ({\n ...prevBodies,\n [body.provisional_id]: {\n ...prevBodies[body.provisional_id],\n post_type: value,\n },\n }));\n };\n // Handling Body for Mentions and Variables\n const {\n normalizeMentionsAndVariables,\n generateMentionOrVariableSpans,\n displayMentionOrVariableNames,\n } = useMentionsAndVariables(mentions, variables || {});\n\n const [provisionalMessage, setProvisionalMessage] = useState(body.message);\n\n // On force la mise à jour du textarea\n useEffect(() => {\n setProvisionalMessage(displayMentionOrVariableNames(body.message));\n }, [body.message]);\n const handleInput = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setProvisionalMessage(displayMentionOrVariableNames(e.target.value));\n\n setHBodies((prev) => ({\n ...prev,\n [body.provisional_id]: {\n ...body,\n message: normalizeMentionsAndVariables(e.target.value),\n },\n }));\n };\n\n return (\n <div\n key={`body_provisional_id_${body.provisional_id}_${index}`}\n className={`flex relative z-0 ${\n !isActive && \"lg:hidden\"\n } flex-col border rounded-b-md rounded-tr-md p-4 relative bg-white z-0`}\n >\n <div\n id=\"header\"\n className=\"flex justify-between w-full gap-3 lg:justify-end\"\n >\n <div className=\"flex lg:hidden\">\n {targetsSelectorRenderer(body.provisional_id)}\n </div>\n <div className=\"flex justify-between w-full gap-3\">\n <div className=\"flex items-start gap-1 ml-5 lg:ml-0\">\n <button\n type=\"button\"\n onClick={() => applySelectedStyle(\"bold\")}\n className=\"flex items-center justify-center w-6 text-lg font-bold border rounded-md cursor-pointer hover:bg-gray-50\"\n >\n B\n </button>\n <button\n type=\"button\"\n onClick={() => applySelectedStyle(\"italic\")}\n className=\"flex items-center justify-center w-6 text-lg italic border rounded-md cursor-pointer hover:bg-gray-50\"\n >\n I\n </button>\n </div>\n <div className=\"flex\">\n <div className=\"hidden lg:flex\">\n {targetsSelectorRenderer(body.provisional_id)}\n </div>\n\n <Tooltip text=\"Créer une nouvelle version\" position=\"bottomleft\">\n <button\n className=\"hidden gap-2 ml-2 btn-neutral lg:flex\"\n type=\"button\"\n onClick={() => duplicateBody(body)}\n >\n <GoRepoForked className=\"size-5\" /> Version\n </button>\n </Tooltip>\n {!isLast && (\n <Tooltip text=\"Supprimer cette version\" position=\"bottomright\">\n <button\n className=\"hidden gap-2 ml-2 btn-neutral lg:flex\"\n type=\"button\"\n onClick={() => deleteBody(body)}\n >\n <TrashIcon className=\"size-5\" /> Supprimer\n </button>\n </Tooltip>\n )}\n <CustomPopover\n position=\"left\"\n button={\n <div className=\"p-0 btn-neutral lg:hidden h-fit\">\n <EllipsisVerticalIcon className=\"size-6\" />\n </div>\n }\n >\n <div className=\"flex flex-col py-2 -mt-4 bg-white rounded-lg shadow-lg w-fit\">\n <button\n className=\"flex items-center gap-2 px-4 py-3 whitespace-nowrap hover:bg-gray-50\"\n type=\"button\"\n onClick={() => duplicateBody(body)}\n >\n <GoRepoForked className=\"size-5\" /> Créer une nouvelle\n version\n </button>\n <button\n type=\"button\"\n className=\"flex gap-2 px-4 py-3 text-start hover:bg-gray-50\"\n >\n {targetsSelectorRenderer(\n body.provisional_id,\n <div className=\"flex gap-2 text-start whitespace-nowrap\">\n <UsersIcon className=\"size-5 \" />\n Sélection des réseaux sociaux\n </div>\n )}\n </button>\n {!isLast && (\n <button\n className=\"flex gap-2 px-4 py-3 text-start hover:bg-gray-50\"\n type=\"button\"\n onClick={() => deleteBody(body)}\n >\n <TrashIcon className=\"size-5 \" /> Supprimer cette version\n </button>\n )}\n </div>\n </CustomPopover>\n </div>\n </div>\n </div>\n <div className=\"relative flex flex-col w-full my-2\">\n <div\n className=\"caret-black w-full max-w-full min-w-full max-h-full min-h-full h-full absolute inset-0 rounded-md whitespace-pre-wrap overflow-y-auto break-words no-scrollbar\"\n // On reproduit le style de la div du textarea\n ref={fakeInputRef}\n style={{\n zIndex: -1,\n fontSize: \"1rem\",\n lineHeight: \"1.5rem\",\n padding: \".5rem .75rem\",\n }}\n >\n <div\n className=\"min-w-full min-h-full\"\n style={{\n ...(inputRef?.current?.scrollHeight && {\n height: inputRef?.current?.scrollHeight,\n }),\n ...(inputRef?.current?.scrollWidth && {\n width: inputRef?.current?.scrollWidth,\n }),\n width: inputRef?.current?.scrollHeight,\n }}\n >\n {generateMentionOrVariableSpans(\n normalizeMentionsAndVariables(provisionalMessage || \"\")\n )}\n </div>\n </div>\n\n <textarea\n ref={inputRef}\n placeholder=\"Saisissez votre texte ici\"\n className=\"caret-black text-transparent bg-transparent w-full h-full placeholder-gray-400 border-0 focus:ring-0 whitespace-pre-wrap break-words\"\n //required\n rows={10}\n value={provisionalMessage || \"\"}\n onChange={handleInput}\n onScroll={(e) => {\n fakeInputRef.current?.scrollTo(\n e.target.scrollLeft,\n e.target.scrollTop\n );\n }}\n />\n </div>\n {/* hidden inputs */}\n <textarea\n name={`bodies[${index}][message]`}\n className=\"hidden\"\n value={body.message ?? \"\"}\n />\n <input\n type=\"hidden\"\n name={`bodies[${index}][id]`}\n value={body.id || \"\"}\n />\n <input\n type=\"hidden\"\n name={`bodies[${index}][provisional_id]`}\n value={body.provisional_id}\n />\n <BodyMediaInputs\n prefix={`bodies[${index}][body_media_attributes]`}\n originalCmPidByBmId={\n body.id === originalId ? originalCmPidByBmId : {}\n }\n bodyMedia={body.body_media_attributes}\n />\n <div className=\"flex flex-wrap mb-4\">\n {/* Content medias - Uploader + Drag&Drop + Displaying Medias */}\n <ContentMediasUploader\n open={openCmModal}\n setOpen={setOpenCmModal}\n accept={accept}\n disabled={disabled}\n hContentMedia={hContentMedia}\n setHContentMedia={setHContentMedia}\n selectedContentMedias={body.body_media_attributes?.map(\n (bma) => bma?.content_medium_provisional_id\n )}\n beforeRemoveFn={(contentMediaId: number) =>\n beforeRemoveFn(contentMediaId, body.provisional_id)\n }\n afterAddFn={(contentMediaIds: number[]) =>\n afterAddFn(contentMediaIds, body.provisional_id)\n }\n afterMoveFn={(contentMediaId: number, newPosition: number) =>\n afterMoveFn(contentMediaId, newPosition, body.provisional_id)\n }\n />\n </div>\n {/* Media Modal */}\n <Modal open={openMediaModal} setOpen={setOpenMediaModal}>\n <div className=\"relative bg-white rounded-lg\">\n <MediaModal\n defaultSearch={defaultPictureSearch}\n onImageSelect={setOpenMediaModal}\n setHContentMedia={setHContentMedia}\n canvaSession={canvaSession}\n profile_picture={profile_picture}\n hContentMedia={hContentMedia}\n afterAddFn={(contentMediaIds: number[]) =>\n afterAddFn(contentMediaIds, body.provisional_id)\n }\n onClose={() => setOpenMediaModal(false)}\n company={company}\n />\n </div>\n </Modal>\n {/* Links Displaying */}\n {body?.link_url && (\n <div className=\"relative flex flex-col gap-2 px-3 py-4 mt-1 mb-4 bg-gray-100 group max-w-80 rounded-b-md\">\n <button\n type=\"button\"\n className={`flex md:hidden group-hover:flex absolute -top-2 -right-2 justify-center items-center border w-6 h-6 border-red-400 text-xs text-red-400 bg-white rounded-full cursor-pointer !hover:bg-red-400 !hover:text-white hover:bg-red-400`}\n onClick={removeLink}\n >\n <XMarkIcon className=\"w-4 h-4 text-red-500 hover:text-white\" />\n </button>\n <p className=\"font-bold text-gray-600 truncate\">\n {body?.link_url &&\n (() => {\n try {\n return new URL(body?.link_url).hostname;\n } catch {\n return \"\";\n }\n })()}\n </p>\n <p className=\"text-sm text-gray-800 truncate\">\n {body?.link_description || \"\"}\n </p>\n {bodyCta?.value && body?.link_cta && (\n <span className=\"absolute bottom-2 right-2 btn-neutral !px-2 !py-1 flex text-sm\">\n {bodyCta.label}\n </span>\n )}\n </div>\n )}\n {/* Editing Features */}\n <div className=\"relative flex flex-wrap justify-between gap-5 items-end\">\n <div className=\"relative flex items-center justify-start gap-2 sm:gap-3\">\n {/* Body Link button */}\n <BodyLink\n body={body}\n updateBody={updateBody}\n disabled={[\"images\", \"videos\"].includes(focus)}\n />\n <input\n type=\"hidden\"\n name={`bodies[${index}][link_url]`}\n value={body?.link_url ?? \"\"}\n />\n <input\n type=\"hidden\"\n name={`bodies[${index}][link_description]`}\n value={body?.link_description ?? \"\"}\n />\n <input\n type=\"hidden\"\n name={`bodies[${index}][link_cta]`}\n value={body?.link_cta ?? \"\"}\n />\n\n {/* Button Content medias */}\n <Tooltip text=\"Insérer images ou vidéo\" position=\"bottom\">\n <button\n type=\"button\"\n className=\"btn-small-round\"\n onClick={() => !disabled && setOpenCmModal(true)}\n >\n <PhotoIcon\n className={`size-7 ${\n disabled\n ? \"text-gray-400 hover:text-gray-400\"\n : \"hover:text-brand_darker\"\n }`}\n />\n </button>\n </Tooltip>\n\n <Tooltip text=\"Choisir une image libre de droit\" position=\"bottom\">\n <button\n type=\"button\"\n className=\"flex p-1 bg-gray-100 rounded-full text-brand_main size-9 hover:bg-gray-200\"\n onClick={() => !disabled && setOpenMediaModal(true)}\n >\n <BeakerIcon\n className={`size-7 ${\n disabled\n ? \"text-gray-400 hover:text-gray-400\"\n : \"hover:text-brand_darker\"\n }`}\n />\n </button>\n </Tooltip>\n\n <Tooltip text=\"Insérer des émojis dans le texte\" position=\"bottom\">\n <button\n type=\"button\"\n onClick={() => setEmojiSelectorOpen(true)}\n className=\"btn-small-round\"\n >\n <FaceSmileIcon className=\"size-7\" />\n </button>\n </Tooltip>\n\n <div\n className={`${\n emojiSelectorOpen ? \"\" : \"hidden\"\n } absolute -bottom-12 origin-bottom border rounded !z-50 h-96 max-h-96 min-h-96 overflow-auto`}\n >\n <EmojiPicker\n perLine={9}\n maxFrequentRows={1}\n previewPosition=\"bottom\"\n navPosition=\"top\"\n searchPosition=\"top\"\n theme=\"light\"\n onClickOutside={() => {\n emojiSelectorOpen ? setEmojiSelectorOpen(false) : null;\n }}\n onEmojiSelect={onEmojiSelect}\n />\n </div>\n <div className=\"relative\">\n <Tooltip\n text=\"Génération du contenu grâce à l'intelligence artificielle\"\n position=\"bottom\"\n >\n <button\n type=\"button\"\n className=\"relative btn-small-round\"\n onClick={() => {\n setShowAiModal(!showAiModal);\n }}\n >\n IA\n </button>\n </Tooltip>\n <Modal open={showAiModal} setOpen={setShowAiModal}>\n <div className=\"relative p-12 my-auto bg-white rounded-md\">\n <CustomCloseButton\n open={showAiModal}\n setOpen={setShowAiModal}\n />\n <ModalInput\n title=\"AI Generation\"\n value={prompt}\n message=\"Entrez le sujet de votre article, donnez des détails sur le contenu que vous souhaitez créer. (limite 30 par mois.)\"\n placeholder=\"Exemple: 'Rédigez un article sur les avantages de vivre à Paris 17ème.'\"\n setValue={setPrompt}\n loading={gptIsWriting}\n error={gptError}\n Submit={() => fetchChatGPTResponse(prompt)}\n />\n </div>\n </Modal>\n </div>\n <div className=\"relative\">\n <VariableSelector variables={variables} insert={insert} />\n </div>\n <div>\n <Tooltip\n text=\"Construire un contenu à partir d'une URL\"\n position=\"bottomright\"\n >\n <button\n type=\"button\"\n className=\"btn-small-round\"\n onClick={toggleSmartlinkModal}\n >\n <CloudArrowDownIcon className=\"size-6\" />\n </button>\n </Tooltip>\n <Modal open={showSmartLinkModal} setOpen={setShowSmartLinkModal}>\n <div className=\"relative p-12 my-auto bg-white rounded-md\">\n <CustomCloseButton\n open={showSmartLinkModal}\n setOpen={setShowSmartLinkModal}\n />\n <ModalInput\n title=\"Smartlink\"\n value={smartLinkUrl}\n message=\"Entrez l'url d'un article et nous écrirons pour vous une accroche, cela remplacera le contenu actuel.\"\n placeholder=\"https://example.com/article\"\n setValue={setSmartLinkUrl}\n loading={smartLinkLoading}\n error={smartLinkError}\n Submit={replaceBodyWithRemote}\n />\n </div>\n </Modal>\n </div>\n {/* Le rendu du selecteur de mention */}\n {mentionSelectorRenderer?.(body, insert)}\n </div>\n {/* Toogle for isStory input */}\n <div className=\"flex gap-1 h-fit rounded-full bg-gray-950/5 p-1\">\n {/*<span className=\"whitespace-nowrap w-fit text-gray-500 font-normal text-sm\">\n Publier en :\n </span>*/}\n\n <label className=\"inline-flex items-center cursor-pointer\">\n <input\n type=\"radio\"\n name={`bodies[${index}][post_type]`}\n value=\"post\"\n checked={body.post_type === \"post\"}\n onChange={() => updatePostType(\"post\")}\n className=\"peer hidden\"\n />\n <span className=\"group flex items-center rounded-full px-2 py-0.5 text-gray-500 peer-checked:text-gray-700 text-xs font-medium peer-checked:bg-white peer-checked:ring-1 peer-checked:ring-gray-950/5\">\n Post\n </span>\n </label>\n\n <label className=\"inline-flex items-center cursor-pointer\">\n <input\n type=\"radio\"\n name={`bodies[${index}][post_type]`}\n value=\"story\"\n checked={body.post_type === \"story\"}\n onChange={() => updatePostType(\"story\")}\n className=\"peer hidden\"\n />\n <span className=\"group flex items-center rounded-full px-2 py-0.5 text-gray-500 peer-checked:text-gray-700 text-xs font-medium peer-checked:bg-white peer-checked:ring-1 peer-checked:ring-gray-950/5\">\n Story\n </span>\n </label>\n\n <label className=\"inline-flex items-center cursor-pointer\">\n <input\n type=\"radio\"\n name={`bodies[${index}][post_type]`}\n value=\"post_and_story\"\n checked={body.post_type === \"post_and_story\"}\n onChange={() => updatePostType(\"post_and_story\")}\n className=\"peer hidden\"\n />\n <span className=\"group flex items-center rounded-full px-2 py-0.5 text-gray-500 peer-checked:text-gray-700 text-xs font-medium peer-checked:bg-white peer-checked:ring-1 peer-checked:ring-gray-950/5\">\n Double\n </span>\n </label>\n </div>\n </div>\n </div>\n );\n }\n);\n\nconst BodyMediaInputs = memo(\n ({\n originalCmPidByBmId,\n bodyMedia,\n prefix,\n }: {\n originalCmPidByBmId: Record<number, number>;\n bodyMedia: ProvisionalBody[\"body_media_attributes\"];\n prefix: string;\n }) => {\n // originalCmPidByBmId permet de réinstaurer les mêmes ids si même content_media\n // mais cas des smartlinks ou l'id existe mais n'était pas présent au début\n // donc on check originalCmPidByBmId[cmPid] || id\n const contentMediaPids = bodyMedia.map(\n (bma) => bma.content_medium_provisional_id\n );\n const destroyables = Object.entries(originalCmPidByBmId).filter(\n ([bm, _]) => !contentMediaPids.includes(parseInt(bm))\n );\n const destIndex = bodyMedia.length + 1;\n\n return (\n <>\n {\" \"}\n {bodyMedia.map(\n ({ content_medium_provisional_id: cmPid, position, id }, i) => (\n <div key={cmPid}>\n <HiddenInput\n name={`${prefix}[${i}][id]`}\n value={originalCmPidByBmId[cmPid] || id}\n />\n <HiddenInput\n name={`${prefix}[${i}][content_medium_provisional_id]`}\n value={cmPid}\n />\n <HiddenInput\n name={`${prefix}[${i}][position]`}\n value={position}\n />\n </div>\n )\n )}\n {destroyables.map(([c, pid], i) => (\n <div key={c}>\n <HiddenInput name={`${prefix}[${i + destIndex}][id]`} value={pid} />\n <HiddenInput\n name={`${prefix}[${i + destIndex}][_destroy]`}\n value={1}\n />\n </div>\n ))}\n </>\n );\n }\n);\n\nexport default BodyEditor;\n","import React, { useState, useEffect } from \"react\"\nimport { ProvisionalContent, ProvisionalPost, ChannelAccount, ChannelConstraints, ProvisionalBody, ChannelIdentifier, ProvisionalContentMedium, Channel, PostOnChannel } from \"../types\";\n\n\ntype Poc = ProvisionalPost[\"post_on_channels_attributes\"][0]\n\ntype PostOnChannelAttributes = ProvisionalPost[\"post_on_channels_attributes\"][0]\ntype ErrorIdentifier = \"character_limit\" | \"picture_limit\" | \"video_count\" | \"embedded_link_count\" | \"enforce_video\" | \"manual_parameters\" | \"tiktok_settings_validation\" | \"date_missing\" | \"invalid_link\"\n\n// format final : \nexport type PubError = {\n affectedTargets: ProvisionalPost[\"post_on_channels_attributes\"],\n actions: { label: string, callback: (arg: any) => void }[],\n message: string,\n inactionStrategyMessage: string,\n errorIdentifier: ErrorIdentifier,\n shouldBe: number | boolean\n}\n\ntype ConcatenedKey = `${ChannelIdentifier | \"global\"}|${ErrorIdentifier}`\n\nexport type ValidationObject = {\n errors: { [K in ConcatenedKey]?: PubError }\n reverseMap: Record<number, ConcatenedKey[]>\n hasNewErrors: boolean\n}\n\n\nconst usePubValidation = ({\n pocs,\n bcgs,\n instantPublish = true,\n hChannelAccounts = {},\n hBodies,\n hContentMedia,\n setOpenModalForPoc,\n createNewBodyForGroup,\n deleteGroup,\n channelConstraints\n}: {\n pocs?: Poc[],\n bcgs?: ProvisionalContent[\"body_channel_groups_attributes\"],\n channelConstraints?: Record<ChannelIdentifier, ChannelConstraints>,\n instantPublish?: boolean,\n hChannelAccounts?: Record<number, ChannelAccount>,\n hBodies: Record<number, ProvisionalBody>,\n hContentMedia: Record<number, ProvisionalContentMedium>,\n setOpenModalForPoc?: (poc: Poc) => void,\n createNewBodyForGroup?: (targets: any[], err: string) => void,\n deleteGroup?: (targets: any[]) => void,\n}): ValidationObject => {\n\n const [errors, setErrors] = useState<ValidationObject[\"errors\"]>({})\n const [reverseMap, setReverseMap] = useState<ValidationObject[\"reverseMap\"]>({})\n const [hasNewErrors, setHasNewErrors] = useState(false)\n\n const addError = (\n errorList: ValidationObject[\"errors\"],\n reverseList: ValidationObject[\"reverseMap\"],\n chan: ChannelIdentifier | \"global\",\n errIdentifier: ErrorIdentifier,\n error: PubError,\n poc: PostOnChannelAttributes | null\n ) => {\n const fullIdentifier = [chan, errIdentifier].join(\"|\") as ConcatenedKey\n const currentError = errorList[fullIdentifier] || error\n const affectedTargets = currentError.affectedTargets\n if (poc) {\n affectedTargets.push(poc)\n const currentKeys = reverseList[poc.channel_account_id] || []\n if (!currentKeys.includes(fullIdentifier)) {\n reverseList[poc.channel_account_id] = currentKeys.concat(fullIdentifier)\n }\n }\n errorList[fullIdentifier] = { ...currentError, affectedTargets }\n }\n\n\n const validationRules: ValidationRules = {\n character_limit: {\n evaluation: (s, p, b, m) => Boolean(!b.message || s - b.message.length >= 0), rawMsg: \"$CHAN limite le texte à $SHOULDBE caractères\", inactionStrategyMsg: \"le message va être tronqué\",\n actions: [\n {\n label: \"corriger\",\n callback: (pocs) => createNewBodyForGroup?.(pocs, \"character_limit\")\n }\n ]\n },\n enforce_video: {\n evaluation: (s, p, b, m) => (\n !s || (m.filter(me => me?.serialized_file.resource_type === \"video\").length > 0)\n ),\n rawMsg: \"$CHAN nécessite une vidéo\",\n inactionStrategyMsg: \"le post ne sera pas publié\",\n actions: [\n {\n label: \"supprimer\",\n callback: (pocs) => deleteGroup?.(pocs)\n }\n ]\n },\n picture_limit: {\n evaluation: (s, p, b, m) => (s - b.body_media_attributes.length >= 0),\n rawMsg: \"$CHAN limite à $SHOULDBE images\",\n inactionStrategyMsg: \"seules les $SHOULDBE premières images seront visibles\",\n actions: [\n {\n label: \"corriger\",\n callback: (pocs) => createNewBodyForGroup?.(pocs, \"picture_limit\")\n }\n ]\n },\n }\n\n\n const buildConstraintsErrors = (\n { reverseList, errorList, constraints, validationRules, poc, body, media, channelIdentifier, channelName,\n }: {\n errorList: ValidationObject[\"errors\"],\n reverseList: ValidationObject[\"reverseMap\"],\n constraints: ChannelConstraints,\n validationRules: ValidationRules,\n poc: Poc | null,\n body: ProvisionalBody,\n media: ProvisionalContentMedium[],\n channelIdentifier: ChannelIdentifier,\n channelName?: string\n }\n ) => {\n Object.entries(constraints).forEach((\n [constraint, shouldBe]: any\n ) => {\n\n const validationRule = validationRules[constraint as keyof ChannelConstraints]\n\n if (validationRule) {\n const { evaluation, rawMsg, inactionStrategyMsg, actions } = validationRule\n\n if (!evaluation(shouldBe, poc, body, media)) {\n\n const message = rawMsg\n .replaceAll(\"$CHAN\", channelName || \"\")\n .replaceAll(\"$SHOULDBE\", shouldBe || \"\")\n\n const inactionStrategyMessage = `Sans action de votre part, ${inactionStrategyMsg\n .replaceAll(\"$SHOULDBE\", shouldBe || \"\")}`\n\n const error = { inactionStrategyMessage, message, actions, affectedTargets: [], shouldBe, errorIdentifier: constraint }\n\n addError(errorList, reverseList, channelIdentifier, constraint, error, poc)\n }\n }\n })\n\n }\n\n useEffect(() => {\n const errorList = {}\n const reverseList = {}\n if (pocs) {\n pocs?.map((poc) => {\n const channelAccount = hChannelAccounts[poc.channel_account_id];\n const body = hBodies[poc.body_provisional_id] as ProvisionalBody;\n const constraints = channelAccount?.channel_constraints;\n const bodyMediaPid = body.body_media_attributes.map(b => b.content_medium_provisional_id)\n const channelIdentifier = channelAccount?.channel?.identifier\n\n const media = Object.values(hContentMedia)\n .filter(v => bodyMediaPid.includes(v.provisional_id))\n\n\n if (!constraints || !body || !channelIdentifier) {\n return [];\n }\n\n buildConstraintsErrors({\n constraints,\n validationRules,\n poc,\n body,\n media,\n channelIdentifier,\n channelName: channelAccount.channel.name,\n errorList,\n reverseList\n })\n\n\n if (channelIdentifier === \"tiktok\" && !poc?.channel_specific_data?.privacy_level) {\n addError(\n errorList,\n reverseList,\n channelIdentifier,\n \"tiktok_settings_validation\",\n {\n inactionStrategyMessage: \"Sans action de votre part, le post ne sera pas publié\",\n message: \"Tiktok nécessite une validation manuelle des paramètres\",\n actions: [{\n callback: (pocs) => {\n if (pocs[0]) { setOpenModalForPoc?.(pocs[0]) }\n }, label: \"voir\"\n }],\n affectedTargets: [],\n shouldBe: true,\n errorIdentifier: \"tiktok_settings_validation\"\n },\n poc\n )\n }\n\n if (!poc.forced_scheduled_at && !instantPublish) {\n addError(\n errorList,\n reverseList,\n \"global\",\n \"date_missing\",\n {\n inactionStrategyMessage: \"Sans action de votre part, ils ne seront pas publiés\",\n message: \"Certains posts n'ont pas de date\",\n actions: [{ callback: () => setOpenModalForPoc?.(poc), label: \"voir\" }],\n affectedTargets: [],\n shouldBe: true,\n errorIdentifier: \"date_missing\"\n },\n poc\n )\n }\n const urlWithVariables = /^\\b(https?:\\/\\/[^\\s\\/$.?#]*\\$[A-Z]*[^\\s]*)\\b$|^([^\\s\\/$.?#]*\\$[A-Z]*[^\\s]*)$|\\b^(https?:\\/\\/[^\\s\\/$.?#]*[^\\s]*)$\\b/\n if (body.link_url && !urlWithVariables.test(body.link_url)) {\n addError(\n errorList,\n reverseList,\n \"global\",\n \"invalid_link\",\n {\n message: \"Le format du lien n'est pas valide\",\n inactionStrategyMessage: \"Le lien ne sera pas affiché\",\n actions: [\n {\n label: \"supprimer\",\n callback: (pocs) => createNewBodyForGroup?.(pocs, \"invalid_link\")\n }\n ],\n affectedTargets: [],\n shouldBe: 1, //HACK: actuellement true empêche l'affichage général\n errorIdentifier: \"date_missing\"\n },\n poc\n )\n }\n })\n } else if (bcgs) {\n bcgs?.map((bcg) => {\n const body = hBodies[bcg.body_provisional_id] as ProvisionalBody;\n bcg.channels.map(channel => {\n const constraints = channelConstraints?.[channel]\n const bodyMediaPid = body.body_media_attributes.map(b => b.content_medium_provisional_id)\n const channelIdentifier = channel\n\n const media = Object.values(hContentMedia)\n .filter(v => bodyMediaPid.includes(v.provisional_id))\n\n\n if (!constraints || !body || !channelIdentifier) { return }\n\n buildConstraintsErrors({\n constraints,\n validationRules,\n poc: null,\n body,\n media,\n channelIdentifier,\n channelName: channel,\n errorList,\n reverseList\n })\n })\n })\n\n }\n const newErrorCount = Object.keys(errorList).length\n if (newErrorCount > Object.keys(errors).length) {\n setHasNewErrors(true)\n }\n setErrors(errorList)\n setReverseMap(reverseList)\n }, [\n pocs,\n bcgs,\n instantPublish,\n // hChannelAccounts,\n hBodies,\n hContentMedia,\n ])\n\n useEffect(() => {\n if (hasNewErrors) {\n setTimeout(() => setHasNewErrors(false), 1000); // Reset animation after 1 second\n }\n }, [hasNewErrors]);\n\n return { errors, reverseMap, hasNewErrors }\n}\n\n\n\n\ntype EvaluationFn<C extends keyof ChannelConstraints> = (\n shouldBe: ChannelConstraints[C],\n poc: ProvisionalPost[\"post_on_channels_attributes\"] | null,\n body: ProvisionalBody,\n media: ProvisionalContentMedium[]\n) => boolean\n\n\ntype ValidationRules = {\n [K in keyof ChannelConstraints]: {\n evaluation: EvaluationFn<K>,\n rawMsg: string,\n inactionStrategyMsg: string,\n actions: { label: string, callback: (arg: any) => void }[],\n }\n}\n\nexport default usePubValidation;\n","import React, { useState } from \"react\"\nimport {\n ChevronUpIcon,\n ChevronDownIcon,\n ExclamationTriangleIcon,\n} from \"@heroicons/react/24/solid\";\nimport { ValidationObject } from \"./usePubValidation\"\n\ntype Props = {\n validationObject: ValidationObject\n}\nconst ErrorDisplayer = ({ validationObject }: Props) => {\n\n const errorCount = Object.keys(validationObject.errors).length\n const [errorVisible, setErrorVisible] = useState(false); // State to control visibility of error section\n return (\n <>\n {Object.keys(validationObject.errors).length > 0 && (\n // <div className=\"bg-white border shadow-xl w-72 rounded-lg p-3 flex flex-col gap-3\">\n <div\n className={`bg-white border shadow-xl w-72 rounded-lg p-3 flex flex-col ${!errorVisible && validationObject.hasNewErrors ? \"animate-bounce\" : \"\"\n }`}>\n <div\n className={`transition-all flex flex-col max-h-64 overflow-y-auto ${errorVisible ? \"h-64 py-3 gap-5 mb-3\" : \"h-0\"\n }`}>\n {Object.entries(validationObject.errors).map(\n ([identifier, error]) => {\n const channelIdentifier = identifier.split(\"|\")[0]\n return (\n <div className=\"flex gap-1\">\n {/* <ExclamationCircleIcon className=\"size-4 mt-1 text-red-500\" /> */}\n <div className=\"flex flex-col gap-1\">\n <p className=\"font-medium text-red-500\">\n {error.message}\n </p>\n <p className=\"italic text-gray-500\">\n {error.inactionStrategyMessage}\n </p>\n {error.actions.map((a) => (\n <button\n className=\"text-white bg-green-600 font-medium px-1 py-px rounded w-fit hover:bg-green-700 duration-100\"\n type=\"button\"\n onClick={() => a.callback(\n error.affectedTargets.length >= 1 ? error.affectedTargets : [channelIdentifier]\n )}\n >\n {a.label}\n </button>\n ))}\n </div>\n </div>\n );\n }\n )}\n </div>\n <div\n className=\"flex items-center justify-between cursor-pointer\"\n onClick={() => setErrorVisible(!errorVisible)} // Close the error section\n >\n <div className=\"flex items-center gap-3\">\n {/* Apply animation class conditionally if a new error is detected */}\n <div\n className={`bg-red-100 size-10 flex items-center justify-center rounded-md`}>\n <ExclamationTriangleIcon className=\"text-red-400 size-8\" />\n </div>\n <p className=\"text-gray-500\">\n {`${errorCount} ${errorCount == 1 ? \"alerte\" : \"alertes\"}`}\n </p>\n </div>\n {errorVisible ? (\n <ChevronDownIcon\n className=\"p-px text-gray-700 rounded-full cursor-pointer size-4 bg-gray-50 hover:bg-gray-200\"\n onClick={() => setErrorVisible(false)} // Close the error section\n />\n ) : (\n <ChevronUpIcon\n className=\"p-px text-gray-700 rounded-full cursor-pointer size-4 bg-gray-50 hover:bg-gray-200\"\n onClick={() => setErrorVisible(true)} // Open the error section\n />\n )}\n </div>\n </div>\n )}\n </>\n )\n}\n\nexport default ErrorDisplayer;\n","import { ChannelAccount, Entity } from \"../../../../types\";\nimport { getCSRFToken } from \"../../../utils/various\";\n\nexport default async function findEntitiesInfo(\n name: string,\n channelAccount: ChannelAccount\n): Promise<{\n error?: string;\n entities?: {\n mentions: Entity[];\n };\n}> {\n const params = new URLSearchParams({ name });\n const response = await fetch(\n `/channel_accounts/${channelAccount.id}/find_channel_entities?${params}`,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": getCSRFToken(),\n },\n }\n );\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n\n const data = await response.json();\n return data;\n}\n","import React from \"react\";\n\nconst LoadingUI = () => {\n return (\n <svg\n className=\"animate-spin h-5 w-5 text-indigo-300\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n className=\"opacity-50\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n ></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n );\n};\n\nexport default LoadingUI;","import React, {\n ChangeEvent,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport CustomPopover from \"../../Popover\";\nimport Tooltip from \"../../Tooltip\";\nimport {\n MagnifyingGlassIcon,\n UserCircleIcon,\n XMarkIcon,\n} from \"@heroicons/react/24/outline\";\nimport {\n ChannelAccount,\n Entity,\n ProvisionalPost,\n} from \"../../../types\";\nimport findEntitiesInfo from \"./actions/EntitiesFetcher\";\nimport { useDebounce } from \"../../../utils/various\";\nimport { ChannelLogo } from \"../../ChannelSelector\";\nimport LoadingUI from \"../../LoadingUI\";\n\nconst MentionSelector = ({\n showSelector,\n channelAccounts,\n insert,\n post,\n setGlobalMentions,\n}: {\n showSelector: boolean;\n channelAccounts: ChannelAccount[];\n insert: (inserted: string, lenght?: number) => void;\n post: ProvisionalPost;\n setGlobalMentions: React.Dispatch<\n React.SetStateAction<Record<string, Record<string, Entity>>>\n >;\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n const uniqChannelAccounts = useMemo(() => {\n const seenChannels = new Set<ChannelAccount[\"channel\"][\"identifier\"]>();\n\n return channelAccounts.reduce<ChannelAccount[]>((acc, ca) => {\n if (\n // À SUPPRIMER => ca.channel.identifier === \"linkedin\" &&\n // QUAND LES AUTRES CANAUX AURONT ÉGALEMENT LA\n // FONCTIONNALITÉ DES MENTIONS\n ca.channel.identifier === \"linkedin\" &&\n !seenChannels.has(ca.channel.identifier)\n ) {\n seenChannels.add(ca.channel.identifier);\n acc.push(ca);\n }\n return acc;\n }, []);\n }, [channelAccounts]);\n\n const [selectedChannel, setSelectedChannel] = useState<ChannelAccount>(\n uniqChannelAccounts[0]\n );\n const [error, setError] = useState<string | null>(null);\n const [loading, setLoading] = useState<boolean>(false);\n const [currentCollab, setCurrentCollab] = useState<string>(\"\");\n const [entities, setEntities] = useState<Entity[]>([]);\n\n const submitMention = async (value: string) => {\n if (!value?.trim()) {\n return;\n }\n\n setLoading(true);\n setError(null);\n setEntities([]);\n\n try {\n const response = await findEntitiesInfo(value, selectedChannel);\n if (response.entities) {\n setEntities(response.entities);\n } else {\n setError(\"Aucun collaborateur trouvé pour ce nom.\");\n }\n } catch (err) {\n setError(\"Une erreur est survenue.\");\n } finally {\n setLoading(false);\n }\n };\n\n const debounce = useDebounce(250);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setCurrentCollab(value);\n if (value.length > 2) {\n debounce(() => submitMention(value));\n }\n };\n\n const insertMention = (mention: Entity) => {\n const thisPOC = post?.post_on_channels_attributes?.find(\n (poc) => poc.channel_account_id === selectedChannel.id\n );\n\n const index = Object.keys(\n thisPOC?.channel_specific_data?.mentions || {}\n ).length;\n\n const mentionKey = `$MENTION${index + 1}`;\n\n // On ajoute les mentions dans chaque channel_specific_data\n post.post_on_channels_attributes.forEach((poc) => {\n if (poc.channel_account_id === selectedChannel.id) {\n poc.channel_specific_data = {\n ...poc.channel_specific_data,\n mentions: {\n ...poc.channel_specific_data?.mentions,\n [mentionKey]: {\n ...mention,\n },\n },\n };\n } else {\n poc.channel_specific_data = {\n ...poc.channel_specific_data,\n mentions: {\n ...poc.channel_specific_data?.mentions,\n [mentionKey]: {\n name: mention.name,\n },\n },\n };\n }\n });\n // On ajoute les mentions dans la mention globale\n channelAccounts.forEach((ca) => {\n setGlobalMentions((mentions) => {\n const key = ca.channel.identifier;\n return {\n ...mentions,\n [key]: {\n [mentionKey]:\n ca.id === selectedChannel.id\n ? mention\n : {\n name: mention.name,\n },\n },\n };\n });\n });\n\n insert(`${mentionKey}`, mention.name.length + 1); // +1 for arobase\n };\n\n return (\n <CustomPopover\n disabled={!showSelector}\n button={\n <Tooltip text=\"Mentionner un collaborateur\">\n <div\n id=\"mention-button\"\n className={`btn-small-round ${showSelector ? \"cursor-pointer\" : \"cursor-default hover:bg-gray-200\"\n }`}\n >\n <UserCircleIcon\n className={`size-6 ${showSelector\n ? \"hover:text-brand_darker\"\n : \"text-gray-400 hover:text-gray-400\"\n }`}\n />\n </div>\n </Tooltip>\n }\n position=\"top\"\n panelClasses=\"drop-shadow-sm shadow-md rounded-md\"\n >\n <div\n className=\"z-50 bg-white my-auto relative rounded-md border p-2 w-[300px]\"\n ref={ref}\n style={{ zIndex: 1000 }}\n >\n <div className=\"flex flex-col justify-center h-full\">\n <div className=\"flex w-full relative gap-0\">\n {selectedChannel &&\n uniqChannelAccounts.map((ca) => (\n <button\n type=\"button\"\n key={ca.id}\n className={`flex items-center w-fit p-1 cursor-pointer ${ca.id === selectedChannel.id\n ? `border-b-2 border-opacity-40 border-${ca.channel.identifier}`\n : \"border-b\"\n }`}\n style={\n ca.id === selectedChannel.id ? { zIndex: 2 } : undefined\n }\n onClick={() => {\n if (ca.id === selectedChannel.id) return;\n setSelectedChannel(ca);\n setCurrentCollab(\"\");\n }}\n >\n <ChannelLogo\n identifier={ca?.channel?.identifier}\n active={ca?.channel?.id === selectedChannel?.channel?.id}\n size={4}\n />\n </button>\n ))}\n </div>\n <div className=\"flex flex-col gap-2 pt-4 pb-1 bg-white relative\">\n {(loading || entities.length > 0) && (\n <div className=\"m-0\">\n <div className=\"max-h-[150px] w-full overflow-y-auto !bg-white z-50 rounded-b-md\">\n <div className=\"mb-4\">\n {loading && (\n <div className=\"w-full h-full flex justify-center items-center\">\n <LoadingUI />\n </div>\n )}\n {entities.map((entity) => (\n <button\n key={entity.name}\n type=\"button\"\n onClick={() => insertMention(entity)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n insertMention(entity);\n }\n }}\n className=\"w-full flex items-center gap-2 p-2 hover:bg-gray-100\"\n >\n {entity.picture_url && (\n <div className=\"w-[20%]\">\n <div className=\"w-8 h-8 rounded-full border border-gray-200 bg-gray-300\">\n <img\n src={entity.picture_url}\n alt={\"avatar\"}\n className=\"w-full h-full object-cover rounded-full\"\n onError={(e) => {\n (e.target as HTMLImageElement).classList.add(\n \"hidden\"\n );\n }}\n />\n </div>\n </div>\n )}\n <div className=\"w-[80%]\">\n <p className=\"block text-left truncate\">\n {entity.name}\n </p>\n </div>\n </button>\n ))}\n </div>\n </div>\n </div>\n )}\n <div className={`flex items-center relative`}>\n <input\n type=\"text\"\n value={currentCollab}\n onChange={handleChange}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n submitMention((e.target as HTMLInputElement).value);\n }\n }}\n className={`peer py-1 pl-2 pr-16 w-full text-sm form-input flex flex-1 rounded-md focus:ring focus:ring-opacity-20 ${error\n ? \"border-red-300 focus:border-red-500 focus:ring-red-500\"\n : \"border-gray-300 focus:border-brand_focus focus:ring-brand_focus\"\n }`}\n placeholder=\"squeezie\"\n />\n {currentCollab && (\n <button\n type=\"button\"\n className=\"absolute right-8 top-1/2 translate-y-[-50%]\"\n onClick={() => {\n setCurrentCollab(\"\");\n setEntities([] as any);\n }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n setCurrentCollab(\"\");\n setEntities([] as any);\n }\n }}\n >\n <XMarkIcon className=\"size-4 text-gray-400 hover:text-brand_main\" />\n </button>\n )}\n <button\n type=\"button\"\n onClick={(e) =>\n submitMention((e.target as HTMLInputElement).value)\n }\n className=\"peer-focus:border-brand_focus peer-focus:text-brand_main absolute flex items-center right-0 h-full w-8 p-1 font-medium bg-gray-50 rounded-r-md border border-gray-300 hover:bg-gray-100 duration-300 text-gray-500\"\n >\n {loading ? (\n <LoadingUI />\n ) : (\n <MagnifyingGlassIcon className=\"inline m-auto h-4 w-4\" />\n )}\n </button>\n </div>\n {error ? (\n <div\n role=\"alert\"\n className=\"border border-red-100 text-sm rounded bg-red-50 px-1 py-1 text-red-700\"\n >\n <p>{error}</p>\n </div>\n ) : (\n \"\"\n )}\n </div>\n </div>\n </div>\n </CustomPopover>\n );\n};\n\nexport default MentionSelector;\n","import React, { useState, useMemo, useCallback, memo, useEffect } from \"react\";\nimport {\n ChannelAccount,\n Company,\n Entity,\n ProvisionalBody,\n ProvisionalContentMedium,\n ProvisionalPost,\n} from \"../../types\";\nimport {\n ChannelAccountsSelector,\n ChannelAccountsUiElement,\n} from \"../ChannelAccountBodyComponents\";\nimport Tooltip from \"../Tooltip\";\nimport PublicationManager from \"./PublicationManager\";\nimport { HiddenInput } from \"../DynamicFormGenerator\";\nimport BodyEditor from \"../BodyEditor\";\nimport { PaperAirplaneIcon, ChevronRightIcon } from \"@heroicons/react/20/solid\";\nimport { InboxArrowDownIcon } from \"@heroicons/react/20/solid\";\nimport usePubValidation from \"../usePubValidation\";\nimport ErrorDisplayer from \"../ErrorDisplayer\";\nimport { XMarkIcon } from \"@heroicons/react/24/outline\";\nimport MentionSelector from \"./mentions/MentionSelector\";\nimport { channel } from \"diagnostics_channel\";\ntype Props = {\n bodies: ProvisionalBody[];\n content_media: ProvisionalContentMedium[];\n post: ProvisionalPost;\n profile_picture: string;\n channel_accounts: (ChannelAccount & { id: number })[];\n variables: Record<string, string | null>;\n canva_session: any;\n isStephanePlazaAccount: boolean;\n industry: string | null;\n company: Company;\n};\n\nconst PostStateManager = (props: Props) => {\n // ### Tabs \n const mobileTabs = [\n { label: \"Contenu\", value: \"content\" },\n { label: \"Publication\", value: \"publication\" },\n ];\n const [activeMobileTab, setActiveMobileTab] = useState(\"content\");\n\n const hChannelAccounts = useMemo(\n () =>\n Object.fromEntries(\n props.channel_accounts.map((ca) => [ca.id as number, ca])\n ),\n [props.channel_accounts]\n );\n\n const [hBodies, setHBodies] = useState<Record<number, ProvisionalBody>>(\n Object.fromEntries(props.bodies.map((b) => [b.provisional_id, b]))\n );\n\n const [showModalForBodyProvId, setShowModalForBodyProvId] = useState<\n null | number\n >(props.post.id ? null : parseInt(Object.keys(hBodies)[0]));\n\n // Post\n const [post, setPost] = useState<ProvisionalPost>(props.post);\n\n /* MENTIONS */\n const [mentions, setMentions] = useState<\n Record<string, Record<string, Entity>>\n >({});\n const [showMentionSelector, setShowMentionSelector] = useState(false);\n\n const memoMentionSelectorRenderer = useMemo(\n () => (body: ProvisionalBody, insert: any) => {\n // On cherche tous les pocs qui ont ce body\n const pocsForThisBody = post.post_on_channels_attributes.filter(\n (poc) => poc.body_provisional_id === body.provisional_id\n );\n\n // On regarde si au moins un poc contient un channel_account identifier linkedin\n const bodyHasLinkedinCA = props.channel_accounts\n .filter((ca) => {\n return pocsForThisBody.some(\n (poc) => poc.channel_account_id === ca.id\n );\n })\n ?.map((ca) => ca.channel.identifier)\n ?.includes(\"linkedin\");\n\n return (\n <MentionSelector\n post={post}\n channelAccounts={props.channel_accounts}\n insert={insert}\n showSelector={bodyHasLinkedinCA}\n setGlobalMentions={setMentions}\n />\n );\n },\n [post, hChannelAccounts, showMentionSelector]\n );\n /* END MENTIONS */\n\n // On garde en mémoire les pocs originaux pour l'édition\n const originalPocsByCa = useMemo(\n () =>\n Object.fromEntries(\n props.post.post_on_channels_attributes\n .filter((p) => p.id)\n .map((p) => [p.channel_account_id, p.id])\n ),\n []\n ) as Record<number, number>;\n\n // Content Media\n const [hContentMedia, setHContentMedia] = useState<\n Record<number, ProvisionalContentMedium>\n >(\n Object.fromEntries(props.content_media.map((cm) => [cm.provisional_id, cm]))\n );\n\n const switchBodyPocs = (\n targetIds: number[],\n bodyId: ProvisionalBody[\"provisional_id\"]\n ) => {\n const finalPocs: ProvisionalPost[\"post_on_channels_attributes\"][0][] = [];\n const remainsTargetIds = new Set(targetIds);\n post.post_on_channels_attributes.forEach((poc) => {\n // Si le channel_account_id est dans les targetIds,\n // On associe ce POC à ce bodyId\n if (remainsTargetIds.has(poc.channel_account_id)) {\n finalPocs.push({ ...poc, body_provisional_id: bodyId });\n } else {\n // Si le channel_account_id n'est pas dans les targetIds :\n // Soit le POC n'avait pas ce bodyId => on le laisse tranquille et on le garde\n // Soit le POC avait ce bodyId => on supprime le POC\n if (poc.body_provisional_id !== bodyId) finalPocs.push(poc);\n }\n remainsTargetIds.delete(poc.channel_account_id);\n });\n // Si des targetsIds restent, on les rajoute\n remainsTargetIds.forEach((ca_id) =>\n finalPocs.push({\n body_provisional_id: bodyId,\n forced_scheduled_at: post.scheduled_at,\n channel_account_id: ca_id,\n ...defaultValuesForChannel(ca_id),\n })\n );\n setPost((prev) => ({ ...prev, post_on_channels_attributes: finalPocs }));\n\n // On supprime les bodies sans pocs\n const pocsBPid = finalPocs?.map((poc) => poc.body_provisional_id);\n setHBodies((hBodies) => {\n const nextBodies = Object.fromEntries(\n Object.entries(hBodies).filter(([pid, _]) =>\n pocsBPid.includes(parseInt(pid))\n )\n );\n return nextBodies;\n });\n };\n\n // fonction de gestion d'erreur\n const createNewBodyForPocGroup = (\n pocs: ProvisionalPost[\"post_on_channels_attributes\"],\n error: string\n ) => {\n const constraint =\n hChannelAccounts[pocs[0]?.channel_account_id]?.channel_constraints;\n if (!constraint) return;\n\n const { id, ...body } = hBodies[pocs[0].body_provisional_id];\n\n let newBodyPid: number | null = null;\n let body_media_attributes = body.body_media_attributes.map(\n ({ id, ...b }) => ({ ...b })\n );\n\n let message = body.message || \"\";\n let link_url = body.link_url;\n\n if (error == \"character_limit\") {\n message = message.substring(0, constraint[error] || 0);\n }\n if (error == \"picture_limit\") {\n body_media_attributes = body_media_attributes.slice(\n 0,\n constraint[error] || 0\n );\n }\n\n if (error == \"invalid_link\") {\n link_url = \"\";\n }\n\n setHBodies((prev) => {\n newBodyPid =\n Math.max(...Object.keys(prev).map((k) => parseInt(k)), 0) + 1;\n return {\n ...prev,\n [newBodyPid]: {\n ...body,\n message,\n link_url,\n provisional_id: newBodyPid,\n body_media_attributes,\n },\n };\n });\n document\n ?.getElementById(\"main-container\")\n ?.scroll({ top: 0, behavior: \"smooth\" });\n setTimeout(() => {\n if (newBodyPid) {\n switchBodyPocs(\n pocs.map((p) => p.channel_account_id),\n newBodyPid\n );\n setDesktopActiveBody(newBodyPid);\n }\n }, 500);\n };\n\n const deletePocGroup = (\n pocs: ProvisionalPost[\"post_on_channels_attributes\"]\n ) => {\n const ids = pocs.map((p) => p.channel_account_id);\n\n document\n ?.getElementById(\"main-container\")\n ?.scroll({ top: 0, behavior: \"smooth\" });\n\n let newBodyPids: number[] = []; // store surviving bodies\n setPost((prev) => {\n const post_on_channels_attributes =\n prev.post_on_channels_attributes.filter(\n (p) => !ids.includes(p.channel_account_id)\n );\n newBodyPids = post_on_channels_attributes.map(\n (p) => p.body_provisional_id\n );\n\n return { ...prev, post_on_channels_attributes };\n });\n\n setTimeout(() => {\n // on nettoie les bodies\n Object.entries(hBodies).forEach(([pid, body]) => {\n const iPid = parseInt(pid);\n if (!newBodyPids.includes(iPid)) {\n destroyBody(iPid);\n }\n });\n }, 50);\n };\n\n // les bodies dans l'ordre pour itérer\n const sortedBodyKeys = useMemo(() => {\n return Object.keys(hBodies)\n .map((p) => parseInt(p))\n .sort();\n }, [Object.keys(hBodies).length]); // le nombre de body a changé\n\n // Callback avant la suppression d'un body\n const onBodyRemoval = useMemo(\n () => (bodyPid: number) => {\n const post_on_channels_attributes =\n post.post_on_channels_attributes.filter(\n (poc) => poc.body_provisional_id !== bodyPid\n );\n // On ouvre l'onglet du dernier body\n const lastBodyId = Object.keys(hBodies)\n .filter((bId) => parseInt(bId) !== bodyPid)\n .at(-1) as string;\n setDesktopActiveBody(parseInt(lastBodyId));\n setPost((post) => ({ ...post, post_on_channels_attributes }));\n },\n [post]\n );\n\n // Pour la suppression d'un body vide\n const destroyBody = useCallback((bodyPid: number) => {\n setHBodies(({ [bodyPid]: _, ...keep }) => {\n const lastBodyId = Object.keys(keep)\n .filter((bId) => parseInt(bId) !== bodyPid)\n .at(-1) as string;\n setDesktopActiveBody(parseInt(lastBodyId));\n return keep;\n });\n }, []);\n\n // Callback après la duplication d'un body\n const onBodyDuplication = useCallback(\n (bodyPid: number) => {\n setShowModalForBodyProvId(bodyPid);\n setDesktopActiveBody(bodyPid);\n },\n [hBodies]\n );\n\n // Which body is active on desktop\n const [desktopActiveBody, setDesktopActiveBody] = useState(sortedBodyKeys[0]);\n const isActive = (bPid: number) => bPid === desktopActiveBody;\n\n const defaultValuesForChannel = (channelAccountId: number) => {\n const channelAccount = hChannelAccounts[channelAccountId];\n const ChannelIdentifier = channelAccount?.channel?.identifier;\n return {\n ...(ChannelIdentifier === \"tiktok\" && {\n channel_specific_data: {\n disable_comments: true,\n disable_duet: true,\n disable_stitch: true,\n privacy_level: null,\n ...(Object.keys(mentions).length > 0 && {\n mentions: mentions[ChannelIdentifier],\n }),\n },\n }),\n ...(ChannelIdentifier === \"instagram\" && {\n channel_specific_data: {\n collaborators: [],\n ...(Object.keys(mentions).length > 0 && {\n mentions: mentions[ChannelIdentifier],\n }),\n },\n }),\n ...(![\"tiktok\", \"instagram\"].includes(ChannelIdentifier) && {\n channel_specific_data: {\n ...(Object.keys(mentions).length > 0 && {\n mentions: mentions[ChannelIdentifier],\n }),\n },\n }),\n };\n };\n\n // Prevent recreating the selector component on renders\n const memoizedSelectorRenderer = useMemo(\n () => (bPid: ProvisionalBody[\"provisional_id\"], buttonUI: JSX.Element) => {\n return (\n <ChannelAccountsSelector\n bPid={bPid}\n post={post}\n destroyEmptyBody={destroyBody}\n hChannelAccounts={hChannelAccounts}\n switchBodyPocs={switchBodyPocs}\n showModalForBodyProvId={showModalForBodyProvId}\n setShowModalForBodyProvId={setShowModalForBodyProvId}\n buttonUI={buttonUI}\n />\n );\n },\n [post, hChannelAccounts, showModalForBodyProvId]\n );\n\n const [openModalForPoc, setOpenModalForPoc] = useState<\n ProvisionalPost[\"post_on_channel_attributes\"][0] | null\n >(null);\n\n const validationObject = usePubValidation({\n pocs: post.post_on_channels_attributes,\n hChannelAccounts,\n hBodies,\n hContentMedia,\n instantPublish: post.instant_publish,\n setOpenModalForPoc,\n deleteGroup: deletePocGroup,\n createNewBodyForGroup: createNewBodyForPocGroup,\n });\n\n const [showInfoMessage, setShowInfoMessage] = useState(true);\n\n useEffect(() => {\n if (showInfoMessage) {\n const timer = setTimeout(() => {\n setShowInfoMessage(false);\n }, 30000); // 30 seconds\n\n return () => clearTimeout(timer);\n }\n }, [showInfoMessage]);\n\n const submit = (e: any, opt?: { draft: boolean }) => {\n const draft = opt?.draft;\n const status = draft ? \"draft\" : \"scheduled\";\n e.target.style.setProperty(\"pointer-events\", \"none\"); // Prevent double clicks when waiting for render\n setPost((prev) => ({\n ...prev,\n draft,\n post_on_channels_attributes: prev.post_on_channels_attributes.map(\n (p) => ({ ...p, status })\n ),\n }));\n\n // Delay for rendering of inputs\n setTimeout(() => {\n const form = document\n .getElementById(\"post_state_manager\")\n ?.closest(\"form\");\n if (form) {\n form.submit();\n e.target.style.setProperty(\"pointer-events\", \"auto\");\n }\n }, 0);\n };\n\n return (\n <div id=\"post_state_manager\" className=\"w-full space-y-12 lg:-mt-10\">\n <ul className=\"flex gap-5 border-b lg:hidden\">\n {mobileTabs.map((tab) => (\n <li\n key={tab.value}\n className={`text-base p-2 border-b-2 ${activeMobileTab === tab.value\n ? \"border-brand_main text-brand_main\"\n : \"text-gray-500 border-gray-400 cursor-pointer\"\n }`}\n onClick={() => setActiveMobileTab(tab.value)}\n >\n {tab.label}\n </li>\n ))}\n </ul>\n <div\n className={`${activeMobileTab !== \"content\" && \"hidden\"\n } lg:block space-y-12 relative`}\n >\n <div className=\"\">\n {props.isStephanePlazaAccount && showInfoMessage ? (\n <div className=\"mx-auto text-yellow-700 font-medium bg-yellow-50 border border-yellow-500 py-5 px-12 my-5 rounded-lg text-center\">\n <button\n type=\"button\"\n onClick={() => setShowInfoMessage(false)}\n className=\"absolute top-2 right-2 p-1 rounded-md hover:bg-gray-100 group\"\n >\n <XMarkIcon className=\"size-6 text-gray-400 group-hover:text-gray-500\" />\n </button>\n Les utilisateurs sont invités à vérifier les informations avant de\n prendre la décision de publier sur les réseaux sociaux. L’IA ne\n remplace pas l’humain. L’authenticité et la vérification des\n sources restent essentielles.\n </div>\n ) : null}\n\n <div className=\"hidden z-[5] lg:flex -mb-1 gap-1 relative border-limited w-full overflow-x-auto\">\n {sortedBodyKeys?.map((bPid) => {\n const active = isActive(bPid);\n return (\n <div\n key={`btn-${bPid}`}\n className={`z-0 p-2 px-3 rounded-t-md border-t border-l border-r ${active ? \"bg-white \" : \"bg-gray-100 cursor-pointer\"\n }`}\n onClick={() => setDesktopActiveBody(bPid)}\n >\n <ChannelAccountsUiElement\n bPid={bPid}\n post={post}\n hChannelAccounts={hChannelAccounts}\n />{\" \"}\n </div>\n );\n })}\n </div>\n <div className=\"flex flex-col gap-12\">\n {sortedBodyKeys?.map((bPid, index) => {\n return (\n <BodyEditor\n key={bPid}\n index={index}\n body={hBodies[bPid]}\n canvaSession={props.canva_session}\n profile_picture={props.profile_picture}\n isLast={sortedBodyKeys.length <= 1}\n isActive={isActive(bPid)} // setDesktopActiveBody\n setHBodies={setHBodies}\n onRemoval={onBodyRemoval}\n company={props.company}\n onDuplication={onBodyDuplication}\n hContentMedia={hContentMedia}\n setHContentMedia={setHContentMedia}\n targetsSelectorRenderer={memoizedSelectorRenderer}\n defaultPictureSearch={props.industry}\n isStephanePlazaAccount={props.isStephanePlazaAccount}\n mentionSelectorRenderer={memoMentionSelectorRenderer}\n mentions={post.post_on_channels_attributes[0]?.channel_specific_data?.mentions}\n variables={props.variables}\n />\n );\n })}\n </div>\n </div>\n <div></div>\n </div>\n <div\n className={`${activeMobileTab !== \"publication\" && \"hidden\"} lg:block`}\n >\n <PublicationManager\n post={post}\n setPost={setPost}\n validationObject={validationObject}\n hChannelAccounts={hChannelAccounts}\n hBodies={hBodies}\n hContentMedia={hContentMedia}\n variables={props.variables}\n //setIsErrored={setIsErrored}\n openModalForPoc={openModalForPoc}\n setOpenModalForPoc={setOpenModalForPoc}\n />\n </div>\n <div className=\"fixed flex flex-col gap-3 h-fit bottom-6 right-8\">\n <ErrorDisplayer validationObject={validationObject} />\n <div className=\"flex justify-end\">\n <div className=\"p-2 rounded-lg backdrop-blur-sm\">\n <div className=\"flex flex-row gap-4\">\n {(post.draft || !post.id) && (\n <Tooltip text=\"Enregistrer comme brouillon\">\n <button\n type=\"button\"\n onClick={(e) => submit(e, { draft: true })}\n className=\"gap-3 btn-neutral\"\n >\n <InboxArrowDownIcon className=\"size-5\" />\n Sauvegarder\n </button>\n </Tooltip>\n )}\n <button\n type=\"button\"\n className={`${activeMobileTab == \"publication\" ? \"hidden\" : \"lg:hidden flex\"\n } gap-3 btn-brand-primary`}\n onClick={() => {\n document\n ?.querySelector(\"#main-container\")\n ?.scrollTo({ top: 0, left: 0 });\n setActiveMobileTab(\"publication\");\n }}\n >\n Suivant\n <ChevronRightIcon className=\"w-6 h-6\" />\n </button>\n <button\n type=\"button\"\n onClick={submit}\n className={`${activeMobileTab != \"publication\" ? \"hidden lg:flex\" : \"flex\"\n } btn-brand-primary gap-2`}\n >\n <PaperAirplaneIcon className=\"size-5\" />\n Valider\n </button>\n </div>\n </div>\n </div>\n </div>\n {/* Hidden inputs */}\n <HiddenInput name=\"post[periodicity]\" value={post.periodicity} />\n <HiddenInput name=\"post[scheduled_at]\" value={post.scheduled_at} />\n <HiddenInput name=\"post[instant_publish]\" value={post.instant_publish} />\n <HiddenInput name=\"post[draft]\" value={post.draft ? 1 : 0} />\n <PostOnChannelInputs\n originalPocsByCa={originalPocsByCa}\n postOnChannels={post.post_on_channels_attributes}\n />\n <ContentMediaInputs hContentMedia={hContentMedia} />\n </div>\n );\n};\n\n// Ajoute les inputs pour créer, modifier et détruire les pocs\nconst PostOnChannelInputs = memo(\n ({\n originalPocsByCa,\n postOnChannels,\n }: {\n originalPocsByCa: Record<number, number>;\n postOnChannels: ProvisionalPost[\"post_on_channels_attributes\"];\n }) => {\n const prefix = \"post[post_on_channels_attributes]\";\n const channelAccountIds = postOnChannels.map(\n (poc) => poc.channel_account_id\n );\n const destIndex = postOnChannels.length + 1;\n const destroyables = Object.entries(originalPocsByCa).filter(\n ([ca, _]) => !channelAccountIds.includes(parseInt(ca))\n );\n\n return (\n <>\n {postOnChannels.map(\n (\n {\n channel_account_id: caId,\n body_provisional_id: bPid,\n forced_scheduled_at,\n channel_specific_data,\n status,\n },\n i\n ) => (\n <div key={caId}>\n <HiddenInput\n name={`${prefix}[${i}][id]`}\n value={originalPocsByCa[caId]}\n />\n <HiddenInput\n name={`${prefix}[${i}][channel_account_id]`}\n value={caId}\n />\n <HiddenInput\n name={`${prefix}[${i}][body_provisional_id]`}\n value={bPid}\n />\n <HiddenInput\n name={`${prefix}[${i}][forced_scheduled_at]`}\n value={forced_scheduled_at}\n />\n <HiddenInput\n name={`${prefix}[${i}][status]`}\n value={status || \"scheduled\"}\n />\n\n {channel_specific_data && (\n <NestedDataInputs\n data={channel_specific_data}\n prefix={`${prefix}[${i}][channel_specific_data]`}\n />\n )}\n </div>\n )\n )}\n {destroyables.map(([c, pid], i) => (\n <div key={c}>\n <HiddenInput name={`${prefix}[${i + destIndex}][id]`} value={pid} />\n <HiddenInput\n name={`${prefix}[${i + destIndex}][_destroy]`}\n value={1}\n />\n </div>\n ))}\n </>\n );\n }\n);\n\n// Recursive component to handle nested data structures\nconst NestedDataInputs = memo(\n ({ data, prefix }: { data: any; prefix: string }) => {\n if (data === null || data === undefined) return null;\n\n return (\n <>\n {Object.entries(data).map(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((val, idx) => {\n if (typeof val === \"object\" && val !== null) {\n return (\n <NestedDataInputs\n key={`${key}_${idx}`}\n data={val}\n prefix={`${prefix}[${key}][]`}\n />\n );\n }\n return (\n <HiddenInput\n key={`${key}_${idx}`}\n name={`${prefix}[${key}][]`}\n value={val}\n />\n );\n });\n } else if (typeof value === \"object\" && value !== null) {\n return (\n <NestedDataInputs\n key={key}\n data={value}\n prefix={`${prefix}[${key}]`}\n />\n );\n }\n return (\n <HiddenInput key={key} name={`${prefix}[${key}]`} value={value} />\n );\n })}\n </>\n );\n }\n);\n\nconst ContentMediaInputs = memo(\n ({\n hContentMedia,\n }: {\n hContentMedia: Record<number, ProvisionalContentMedium>;\n }) => {\n const prefix = \"content_media[]\";\n return (\n <>\n {Object.values(hContentMedia).map((cm) => (\n <div key={`${cm.provisional_id}_body_input`}>\n <HiddenInput\n name={`${prefix}[provisional_id]`}\n value={cm.provisional_id}\n />\n <HiddenInput name={`${prefix}[id]`} value={cm.id} />\n {cm.serialized_file.signature && (\n <HiddenInput\n name={`${prefix}[medium]`}\n value={`${cm.serialized_file.identifier}#${cm.serialized_file.signature}`}\n />\n )}\n </div>\n ))}\n </>\n );\n }\n);\n\nexport default PostStateManager;\n","import React, { useState, useMemo, useCallback, memo, useEffect } from \"react\";\nimport {\n ChannelIdentifier,\n ProvisionalContent,\n ChannelAccount,\n ProvisionalBody,\n ProvisionalContentMedium,\n ProvisionalPost,\n Channel,\n} from \"../types\";\nimport { ChannelLogo } from \"./ChannelSelector\";\n\nimport Modal from \"./Modal\";\nimport { HiddenInput } from \"./DynamicFormGenerator\";\nimport BodyEditor from \"./BodyEditor\";\nimport { PaperAirplaneIcon, ChevronRightIcon } from \"@heroicons/react/24/solid\";\nimport usePubValidation from \"./usePubValidation\";\nimport ErrorDisplayer from \"./ErrorDisplayer\";\nimport { UsersIcon } from \"@heroicons/react/24/solid\";\nimport Tooltip from \"./Tooltip\";\nimport { ExclamationCircleIcon } from \"@heroicons/react/20/solid\";\nimport PostPreview from \"./Publisher/PostPreview\";\n\ntype Props = {\n bodies: ProvisionalBody[];\n content_media: ProvisionalContentMedium[];\n content: ProvisionalContent;\n profile_picture: string;\n variables: Record<string, string | null>;\n inserted_html?: string;\n channel_constraints: Record<\n ChannelIdentifier,\n ChannelAccount[\"channel_constraints\"]\n >;\n};\n\nconst channelNames = {\n facebook: \"Facebook\",\n google_my_business: \"Google My Business\",\n pinterest: \"Pinterest\",\n twitter: \"X\",\n linkedin: \"LinkedIn\",\n tiktok: \"TikTok\",\n instagram: \"Instagram\",\n};\n\nconst CCForm = (props: Props) => {\n // ### Tabs\n const mobileTabs = [\n { label: \"Contenu\", value: \"content\" },\n { label: \"Publication\", value: \"publication\" },\n ];\n const [activeMobileTab, setActiveMobileTab] = useState(\"content\");\n\n const [hBodies, setHBodies] = useState<Record<number, ProvisionalBody>>(\n Object.fromEntries(props.bodies.map((b) => [b.provisional_id, b]))\n );\n\n const channels = [\n \"facebook\",\n \"twitter\",\n \"linkedin\",\n \"instagram\",\n \"tiktok\",\n \"pinterest\",\n \"google_my_business\",\n ] as ChannelIdentifier[];\n\n const [showModalForBodyProvId, setShowModalForBodyProvId] = useState<\n null | number\n >(props.content.body_channel_groups_attributes[0].body_provisional_id);\n\n // Post\n const [content, setContent] = useState<ProvisionalContent>(props.content);\n\n // On garde en mémoire les bcgs originaux pour l'édition\n const originalBcgIds = useMemo(\n () =>\n props.content.body_channel_groups_attributes\n .filter((b) => b.id)\n .map((b) => b.id),\n []\n ) as number[];\n\n // Content Media\n const [hContentMedia, setHContentMedia] = useState<\n Record<number, ProvisionalContentMedium>\n >(\n Object.fromEntries(props.content_media.map((cm) => [cm.provisional_id, cm]))\n );\n\n const switchBody = (\n targetIds: ChannelIdentifier[],\n bodyId: ProvisionalBody[\"provisional_id\"]\n ) => {\n // on trouve le bcg associé au body et on manipule ses channels\n\n const body_channel_groups_attributes: ProvisionalContent[\"body_channel_groups_attributes\"] =\n [];\n\n content.body_channel_groups_attributes.forEach((bcg) => {\n if (bcg.body_provisional_id === bodyId) {\n if (targetIds.length) {\n body_channel_groups_attributes.push({ ...bcg, channels: targetIds });\n }\n } else {\n const remainingChans = bcg.channels.filter(\n (c) => !targetIds.includes(c)\n );\n if (remainingChans.length) {\n body_channel_groups_attributes.push({\n ...bcg,\n channels: remainingChans,\n });\n }\n }\n });\n\n setContent((prev) => ({ ...prev, body_channel_groups_attributes }));\n\n // On supprime les bodies sans bcgs (et donc sans channels)\n const bcgBPid = body_channel_groups_attributes?.map(\n (bcg) => bcg.body_provisional_id\n );\n setHBodies((hBodies) => {\n const nextBodies = Object.fromEntries(\n Object.entries(hBodies).filter(([pid, _]) =>\n bcgBPid.includes(parseInt(pid))\n )\n );\n return nextBodies;\n });\n };\n\n // les bodies dans l'ordre pour itérer\n const sortedBodyKeys = useMemo(() => {\n return Object.keys(hBodies)\n .map((p) => parseInt(p))\n .sort();\n }, [Object.keys(hBodies).length]); // le nombre de body a changé\n\n // Callback avant la suppression d'un body\n const onBodyRemoval = useMemo(\n () => (bodyPid: number) => {\n const body_channel_groups_attributes =\n content.body_channel_groups_attributes.filter(\n (bcg) => bcg.body_provisional_id !== bodyPid\n );\n // On ouvre l'onglet du dernier body\n const lastBodyId = Object.keys(hBodies)\n .filter((bId) => parseInt(bId) !== bodyPid)\n .at(-1) as string;\n setDesktopActiveBody(parseInt(lastBodyId));\n setContent((prev) => ({ ...prev, body_channel_groups_attributes }));\n },\n [content]\n );\n\n // Pour la suppression d'un body vide\n const destroyBody = useCallback((bodyPid: number) => {\n // on enlève le bcg associé\n setContent((prev) => ({\n ...prev,\n body_channel_groups_attributes:\n prev.body_channel_groups_attributes.filter(\n (bcg) => bcg.body_provisional_id !== bodyPid\n ),\n }));\n setHBodies(({ [bodyPid]: _, ...keep }) => {\n const lastBodyId = Object.keys(keep)\n .filter((bId) => parseInt(bId) !== bodyPid)\n .at(-1) as string;\n setDesktopActiveBody(parseInt(lastBodyId));\n return keep;\n });\n }, []);\n\n // Callback après la duplication d'un body\n const onBodyDuplication = useCallback(\n (bodyPid: number) => {\n // on crée un bcg pour lui\n content.body_channel_groups_attributes.push({\n channels: [],\n body_provisional_id: bodyPid,\n });\n setShowModalForBodyProvId(bodyPid);\n setDesktopActiveBody(bodyPid);\n },\n [hBodies]\n );\n\n // Which body is active on desktop\n const [desktopActiveBody, setDesktopActiveBody] = useState(sortedBodyKeys[0]);\n const isActive = (bPid: number) => bPid === desktopActiveBody;\n\n // Prevent recreating the selector component on renders\n const memoizedSelectorRenderer = useMemo(\n () => (bPid: ProvisionalBody[\"provisional_id\"], buttonUI: JSX.Element) => {\n return (\n <ChannelSelector\n bPid={bPid}\n content={content}\n destroyEmptyBody={destroyBody}\n channels={channels}\n switchBody={switchBody}\n showModalForBodyProvId={showModalForBodyProvId}\n setShowModalForBodyProvId={setShowModalForBodyProvId}\n buttonUI={buttonUI}\n />\n );\n },\n [content, showModalForBodyProvId]\n );\n\n const deleteChannelGroup = (channels: ChannelIdentifier[]) => {\n document\n ?.getElementById(\"main-container\")\n ?.scroll({ top: 0, behavior: \"smooth\" });\n\n let newBodyPids: number[] = []; // store surviving bodies\n\n setContent((prev) => {\n const body_channel_groups_attributes = prev.body_channel_groups_attributes\n .map((bcg) => ({\n ...bcg,\n channels: bcg.channels.filter((c) => !channels.includes(c)),\n }))\n .filter((bcg) => bcg.channels.length != 0);\n newBodyPids = body_channel_groups_attributes.map(\n (p) => p.body_provisional_id\n );\n return { ...prev, body_channel_groups_attributes };\n });\n\n setTimeout(() => {\n // on nettoie les bodies\n Object.entries(hBodies).forEach(([pid, body]) => {\n const iPid = parseInt(pid);\n if (!newBodyPids.includes(iPid)) {\n destroyBody(iPid);\n }\n });\n }, 50);\n };\n\n const createNewBodyForChannelGroup = (\n channels: ChannelIdentifier[],\n error: string\n ) => {\n // en réalité toujours une seule\n const channel = channels[0];\n const constraint = props.channel_constraints[channel];\n const bcg = content.body_channel_groups_attributes.find((bcg) =>\n bcg.channels.includes(channel)\n );\n\n if (!constraint || !bcg) return;\n\n const body = hBodies[bcg.body_provisional_id];\n\n let newBodyPid: number | null = null;\n let body_media_attributes = body.body_media_attributes.map(\n ({ id, ...b }) => ({ ...b })\n );\n let message = body.message || \"\";\n\n if (error == \"character_limit\") {\n message = message.substring(0, constraint[error] || 0);\n }\n if (error == \"picture_limit\") {\n body_media_attributes = body_media_attributes.slice(\n 0,\n constraint[error] || 0\n );\n }\n setHBodies((prev) => {\n newBodyPid =\n Math.max(...Object.keys(prev).map((k) => parseInt(k)), 0) + 1;\n return {\n ...prev,\n [newBodyPid]: {\n ...body,\n message,\n provisional_id: newBodyPid,\n body_media_attributes,\n },\n };\n });\n setContent((prev) => ({\n ...prev,\n body_channel_groups_attributes: [\n ...prev.body_channel_groups_attributes.map((bcg) => ({\n ...bcg,\n channels: bcg.channels.filter((c) => !channels.includes(c)),\n })),\n {\n channels: [channel],\n body_provisional_id: newBodyPid,\n } as ProvisionalContent[\"body_channel_groups_attributes\"][0],\n ],\n }));\n\n document\n ?.getElementById(\"main-container\")\n ?.scroll({ top: 0, behavior: \"smooth\" });\n // NOTE: Dans certains cas ici on a un body fantôme, chercher\n };\n\n const validationObject = usePubValidation({\n hBodies,\n hContentMedia,\n bcgs: content.body_channel_groups_attributes,\n channelConstraints: props.channel_constraints,\n deleteGroup: deleteChannelGroup,\n createNewBodyForGroup: createNewBodyForChannelGroup,\n });\n\n return (\n <div id=\"PostStateManager\" className=\"w-full space-y-12\">\n <ul className=\"flex border-b gap-5 lg:hidden\">\n {mobileTabs.map((tab) => (\n <li\n key={tab.value}\n className={`text-base p-2 border-b-2 ${\n activeMobileTab === tab.value\n ? \"border-brand_main text-brand_main\"\n : \"text-gray-500 border-gray-400 cursor-pointer\"\n }`}\n onClick={() => setActiveMobileTab(tab.value)}\n >\n {tab.label}\n </li>\n ))}\n </ul>\n <div\n className={`${\n activeMobileTab !== \"content\" && \"hidden\"\n } lg:block space-y-12 relative`}\n >\n <div className=\"\">\n <div className=\"hidden z-[5] lg:flex -mb-1 gap-1 relative border-limited w-full overflow-x-auto\">\n {sortedBodyKeys?.map((bPid) => {\n const active = isActive(bPid);\n return (\n <div\n key={`btn-${bPid}`}\n className={`z-0 p-2 px-3 rounded-t-md border-t border-l border-r ${\n active ? \"bg-white \" : \"bg-gray-100 cursor-pointer\"\n }`}\n onClick={() => setDesktopActiveBody(bPid)}\n >\n <ChannelsUiElement\n bPid={bPid}\n content={content}\n channels={channels}\n />\n </div>\n );\n })}\n </div>\n <div className=\"flex flex-col gap-12\">\n {sortedBodyKeys?.map((bPid, index) => {\n return (\n <BodyEditor\n key={bPid}\n index={index}\n body={hBodies[bPid]}\n isLast={sortedBodyKeys.length <= 1}\n isActive={isActive(bPid)} // setDesktopActiveBody\n setHBodies={setHBodies}\n onRemoval={onBodyRemoval}\n profile_picture={props.profile_picture}\n onDuplication={onBodyDuplication}\n hContentMedia={hContentMedia}\n setHContentMedia={setHContentMedia}\n targetsSelectorRenderer={memoizedSelectorRenderer}\n variables={props.variables}\n />\n );\n })}\n </div>\n </div>\n <div className=\"flex justify-end sticky bottom-0 lg:hidden\">\n <div className=\"backdrop-blur-sm pb-5 pt-3 pl-3\">\n <button\n type=\"button\"\n className=\"m-2 flex rounded-lg py-3 pl-5 pr-3 bg-brand_main hover:bg-brand_darker font-medium text-white gap-1\"\n onClick={() => {\n document\n ?.querySelector(\"#main-container\")\n ?.scrollTo({ top: 0, left: 0 });\n setActiveMobileTab(\"publication\");\n }}\n >\n Suivant\n <ChevronRightIcon className=\"w-6 h-6\" />\n </button>\n </div>\n </div>\n </div>\n <div\n className={`${\n activeMobileTab !== \"publication\" && \"hidden\"\n } lg:block space-y-12`}\n >\n <div className=\"flex flex-col gap-5 p-5 bg-white rounded shadow\">\n <div className=\"\">\n {/*Object.keys(validationObject.errors).length > 0 && (\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex flex-col flex-wrap gap-5 sm:flex-row\">\n <div className=\"flex flex-col gap-1 p-3 text-red-500 border-l-2 border-red-500\">\n <div className=\"flex gap-1\">\n <ExclamationCircleIcon className=\"size-6\" />\n <p>{Object.entries(errors).length} erreurs</p>\n </div>\n <ul>\n {\n errors.flatMap(({ channel, messages }) =>\n messages?.map((message) => `${channelNames[channel]} ${message.message}`)\n ).map((message) => (\n <li>{message}</li>\n ))\n }\n </ul>\n </div>\n </div>\n </div>\n )*/}\n {/* insertion du html externe*/}\n <div\n dangerouslySetInnerHTML={{ __html: props.inserted_html || \"\" }}\n />\n <h3 className=\"text-lg font-medium text-gray-900\">\n Prévisualisation\n </h3>\n\n <div className=\"grid grid-cols-1 xl:grid-cols-2 lg:m-8 gap-8 sm:flex-row items-center snap-mandatory snap-x\">\n {content.body_channel_groups_attributes\n .flatMap((bcg) =>\n bcg.channels.map(\n (c) =>\n [c, bcg.body_provisional_id] as [\n ChannelIdentifier,\n number\n ]\n )\n )\n // here we order by errors\n .map(([channel, bPid]) => {\n // Manière pas ouf de retrouver le channelidentifier concaténé\n const errors = Object.entries(validationObject.errors)\n .filter(([k, v]) => k.split(\"|\")[0] == channel)\n .map(([_k, v]) => v);\n return (\n <PostPreview\n key={channel}\n errors={errors}\n body={hBodies[bPid]}\n hContentMedia={hContentMedia}\n variables={props.variables}\n header={\n <div className=\"flex items-center rounded justify-between w-full text-gray-500 text-sm bg-gray-50 p-3\">\n <ChannelLogo\n identifier={channel}\n active={true}\n size={6}\n />\n </div>\n }\n />\n );\n })}\n </div>\n </div>\n </div>\n <div className=\"fixed flex flex-col gap-3 h-fit bottom-6 right-8\">\n <ErrorDisplayer validationObject={validationObject} />\n <div className=\"flex justify-end\">\n <div className=\"backdrop-blur-sm p-2\">\n <button\n type=\"submit\"\n className=\"flex gap-3 p-3 pr-5 font-medium text-white rounded-lg cursor-pointer bg-brand_main hover:bg-brand_darker\"\n >\n <PaperAirplaneIcon className=\"size-6\" />\n Enregistrer\n </button>\n </div>\n </div>\n </div>\n </div>\n {/* Hidden inputs */}\n <BcgInputs\n bcgs={content.body_channel_groups_attributes}\n originalBcgIds={originalBcgIds}\n />\n <ContentMediaInputs hContentMedia={hContentMedia} />\n </div>\n );\n};\n\n// Ajoute les inputs pour créer, modifier et détruire les pocs\nconst BcgInputs = memo(\n ({\n bcgs,\n originalBcgIds,\n }: {\n originalBcgIds: number[];\n bcgs: ProvisionalContent[\"body_channel_groups_attributes\"];\n }) => {\n const prefix = \"content[body_channel_groups_attributes]\";\n // const channelAccountIds = bcgs.map(poc => poc.channel_account_id)\n const destIndex = bcgs.length + 1;\n const destroyables = originalBcgIds.filter(\n (bcg) => !bcgs.map((b) => b.id).includes(bcg)\n );\n\n return (\n <>\n {\" \"}\n {bcgs.map(({ channels, body_provisional_id: bPid, id }, i) => (\n <div key={bPid}>\n <HiddenInput name={`${prefix}[${i}][id]`} value={id} />\n <HiddenInput\n name={`${prefix}[${i}][body_provisional_id]`}\n value={bPid}\n />\n {channels.map((c) => (\n <HiddenInput\n key={c}\n name={`${prefix}[${i}][channels][]`}\n value={c}\n />\n ))}\n </div>\n ))}\n {destroyables.map((id, i) => (\n <div key={id}>\n <HiddenInput name={`${prefix}[${i + destIndex}][id]`} value={id} />\n <HiddenInput\n name={`${prefix}[${i + destIndex}][_destroy]`}\n value={1}\n />\n </div>\n ))}\n </>\n );\n }\n);\n\nconst ContentMediaInputs = memo(\n ({\n hContentMedia,\n }: {\n hContentMedia: Record<number, ProvisionalContentMedium>;\n }) => {\n const prefix = \"content_media[]\";\n return (\n <>\n {Object.values(hContentMedia).map((cm) => (\n <div key={`${cm.provisional_id}_body_input`}>\n <HiddenInput\n name={`${prefix}[provisional_id]`}\n value={cm.provisional_id}\n />\n <HiddenInput name={`${prefix}[id]`} value={cm.id} />\n {cm.serialized_file.signature && (\n <HiddenInput\n name={`${prefix}[medium]`}\n value={`${cm.serialized_file.identifier}#${cm.serialized_file.signature}`}\n />\n )}\n </div>\n ))}\n </>\n );\n }\n);\n\nexport default CCForm;\n\nconst channelsForBPid = (\n bPid: ProvisionalBody[\"provisional_id\"],\n content: ProvisionalContent,\n channels: ChannelIdentifier[]\n) =>\n content.body_channel_groups_attributes.find(\n ({ body_provisional_id }) => body_provisional_id === bPid\n )?.channels || ([] as ChannelIdentifier[]);\n\nexport const ChannelSelector = memo(\n ({\n bPid,\n content,\n channels,\n switchBody,\n showModalForBodyProvId,\n setShowModalForBodyProvId,\n destroyEmptyBody,\n buttonUI,\n }: {\n bPid: ProvisionalBody[\"provisional_id\"];\n content: ProvisionalContent;\n channels: ChannelIdentifier[];\n switchBody: (\n targetsIds: ChannelIdentifier[],\n bodyId: ProvisionalBody[\"provisional_id\"]\n ) => void;\n showModalForBodyProvId: number | null;\n setShowModalForBodyProvId: React.Dispatch<\n React.SetStateAction<number | null>\n >;\n destroyEmptyBody: (bPid: ProvisionalBody[\"provisional_id\"]) => void;\n buttonUI?: JSX.Element;\n }) => {\n const selectedChannels = channelsForBPid(bPid, content, channels);\n // État interne des targets provenant du body dupliqué et des Channels Accounts cochés\n const [selectedTargets, setSelectedTargets] = useState(selectedChannels);\n const hasChannels = useMemo(\n () =>\n content.body_channel_groups_attributes.some(\n (bcg) => bcg.body_provisional_id === bPid\n ),\n [content]\n );\n\n // Message d'erreur si aucune target cochée\n const [error, setError] = useState({ status: false, message: \"\" });\n\n // Pour une raison mystérieuse,\n // la synchronisation de l'état ne fonctionne pas\n // On est obligés de forcer la mise à jour\n useEffect(() => {\n setSelectedTargets(channelsForBPid(bPid, content, channels));\n }, [content]);\n\n const resetError = () => setError({ status: false, message: \"\" });\n\n const onAction = (type: \"cancel\" | \"validate\") => {\n setError({ status: false, message: \"\" });\n if (type === \"validate\") {\n if (!selectedTargets.length)\n return setError({\n status: true,\n message: \"Veuillez choisir au moins un compte\",\n });\n switchBody(selectedTargets, bPid);\n }\n // Si on annule, on réinstalle l'état initial avec les données du back-end\n if (type === \"cancel\") {\n // Si le body n'a pas de channels, on le supprime\n if (!hasChannels) {\n destroyEmptyBody(bPid);\n }\n // On attend un peu pour pas que les checkbox se recochent tout de suite\n setTimeout(() => setSelectedTargets(selectedChannels), 500);\n }\n setShowModalForBodyProvId(null);\n };\n\n return (\n <div className=\"flex\">\n <Modal open={bPid === showModalForBodyProvId} setOpen={() => null}>\n <div className=\"py-24\">\n <div className=\"flex flex-col gap-4 p-6 my-auto bg-white rounded-lg shadow max-h-xl\">\n <div className=\"flex flex-col items-start w-full space-y-4\">\n <div className=\"text-start\">\n <h3 className=\"font-semibold text-md md:text-lg\">\n Réseaux sociaux\n </h3>\n <p className=\"text-sm text-gray-500 sm:text-base\">\n {selectedTargets.length}\n {selectedTargets.length > 1\n ? \" comptes sélectionnés\"\n : \" compte sélectionné\"}\n </p>\n </div>\n {error.status && (\n <div>\n <p className=\"text-sm text-red-500\">\n <ExclamationCircleIcon className=\"inline w-6 h-6\" />\n {error.message}\n </p>\n </div>\n )}\n </div>\n <div className=\"flex flex-col gap-6 p-6 overflow-y-auto border-gray-300 border-y\">\n <div className=\"flex flex-col gap-3\">\n <div\n className=\"clickable-text text-sm cursor-pointer\"\n onClick={() => {\n resetError();\n setSelectedTargets(channels); // Select all channels\n }}\n >\n Tout sélectionner\n </div>\n <div\n className=\"clickable-text text-sm cursor-pointer\"\n onClick={() => {\n resetError();\n setSelectedTargets([]); // Deselect all channels\n }}\n >\n Tout déselectionner\n </div>\n </div>\n\n {channels.map((channel) => {\n const active = selectedTargets.includes(channel);\n\n return (\n <label className=\"flex space-x-2 items-center cursor-pointer\">\n <input\n id={channel}\n className=\"checkbox-primary\"\n value={channel}\n type=\"checkbox\"\n checked={active}\n onChange={(e) => {\n resetError();\n if (e.target.checked) {\n setSelectedTargets((prev) => [...prev, channel]);\n } else {\n setSelectedTargets((prev) =>\n prev.filter((c) => c !== channel)\n );\n }\n }}\n />\n <ChannelLogo\n identifier={channel}\n active={active}\n size={6}\n />\n <div className=\"font-medium text-gray-700\">\n {channelNames[channel]}\n </div>\n </label>\n );\n })}\n </div>\n\n <div className=\"flex justify-between gap-1 sm:gap-5\">\n <button\n type=\"button\"\n className=\"btn-neutral\"\n onClick={() => onAction(\"cancel\")}\n >\n Annuler\n </button>\n <button\n type=\"button\"\n className=\"px-4 py-2 text-base btn-brand-primary\"\n onClick={() => onAction(\"validate\")}\n >\n Valider\n </button>\n </div>\n </div>\n </div>\n </Modal>\n <button\n type=\"button\"\n className=\"\"\n onClick={() => setShowModalForBodyProvId(bPid)}\n >\n {buttonUI ? (\n buttonUI\n ) : (\n <>\n <div className=\"lg:hidden\">\n <ChannelsUiElement\n bPid={bPid}\n content={content}\n channels={channels}\n />\n </div>\n <Tooltip\n text=\"Sélectionner vos réseaux sociaux\"\n position=\"bottomright\"\n >\n <div className=\"hidden btn-neutral lg:flex\">\n <UsersIcon className=\"p-0 size-5 mr-2\" /> Réseaux\n </div>\n </Tooltip>\n </>\n )}\n </button>\n </div>\n );\n }\n);\n\nexport const ChannelsUiElement = memo(\n ({\n bPid,\n content,\n channels,\n }: {\n bPid: ProvisionalBody[\"provisional_id\"];\n content: ProvisionalContent;\n channels: ChannelIdentifier[];\n }) => {\n const selectedChannels = channelsForBPid(bPid, content, channels);\n return (\n <div className=\"flex gap-1 font-medium text-gray-500\">\n <div className=\"flex flex-row space-x-2\">\n {selectedChannels.map((ch) => (\n <div key={ch} className=\"relative\">\n <ChannelLogo identifier={ch} active={true} size={5} />\n </div>\n ))}\n </div>\n </div>\n );\n }\n);\n","import { TurboMount } from \"turbo-mount\";\nimport React from \"react\";\nimport { registerComponent } from \"turbo-mount/react\";\n\n// i18n\nimport { IntlProvider } from \"react-intl\";\nimport fr from \"../../config/locales/js-lang/fr.json\";\nimport en from \"../../config/locales/js-lang/en.json\"; // on mettra le compile plus tard\n\n// Composants React\nimport SoundSelect from './components/SoundSelect'\nimport PostStateManager from './components/Publisher/PostStateManager'\nimport ProfilePictureEditor from './components/ProfilePictureEditor'\nimport CCForm from './components/CCForm'\n\nconst turboMount = new TurboMount();\n\n// to register a component use:\n// registerComponent(turboMount, \"Hello\", Hello); // where Hello is the imported the component\n\n// to override the default controller use:\n// registerComponent(turboMount, \"Hello\", Hello, HelloController); // where HelloController is a Stimulus controller extended from TurboMountController\n\n// If you want to automatically register components use:\n// import { registerComponents } from \"turbo-mount/registerComponents/react\";\n// const controllers = import.meta.glob(\"/controllers/**/*_controller.js\", { eager: true });\n// const components = import.meta.glob(\"/components/**/*.jsx\", { eager: true });\n// registerComponents({ turboMount, components, controllers });\n\n\n// On wrap nos composants dans un HOC provider du context de traduction\nconst messages = { fr, en };\n\nconst translate = (component) => (props) => React.createElement(\n\tIntlProvider,\n\t{ locale: props.locale || \"fr\", messages: messages[props.locale] || fr },\n\tReact.createElement(component, props)\n)\n\n\nregisterComponent(turboMount, \"SoundSelect\", translate(SoundSelect));\nregisterComponent(turboMount, \"PostStateManager\", translate(PostStateManager));\nregisterComponent(turboMount, \"ProfilePictureEditor\", translate(ProfilePictureEditor));\nregisterComponent(turboMount, \"ContentForm\", translate(CCForm));\n// TODO: passer les autres composants \n\n/* <div class=\"w-2/3 p-2 mx-auto\">\n<!-- Form Fields -->\n<%= form_with model: sequence, local: true do |f| %>\n <%= f.label :title, \"Title\" %>\n <%= f.text_field :title, class: \"block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm\" %>\n <%= f.label :text, \"Text\" %>\n <%= f.text_area :text, class: \"block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm\" %>\n<% end %>\n</div>\n\n\n<div class=\"w-2/3 p-2 mx-auto\">\n<!-- Form Fields -->\n<%= form_with model: sequence, local: true do |f| %>\n <%= f.label :title, \"Title\" %>\n <%= f.text_field :title, class: \"block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm\" %>\n <%= f.label :text, \"Text\" %>\n <%= f.text_area :text, class: \"block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm\" %>\n<% end %>\n</div> */\n\n","// Vite exécute ce fichier, qui appelle tous les autres\n\nconsole.log(\"Vite âš¡ï¸ Rails\");\n\n// Example: Load Rails libraries in Vite.\n//\n// import * as Turbo from '@hotwired/turbo'\n// Turbo.start()\n//\n// import ActiveStorage from '@rails/activestorage'\n// ActiveStorage.start()\n//\n// // Import all channels.\n// const channels = import.meta.globEager('./**/*_channel.js')\n\n// Example: Import a stylesheet in app/frontend/index.css\n// import '~/index.css'\n//\n\nimport \"@hotwired/turbo-rails\";\nimport { Application } from \"@hotwired/stimulus\";\nimport { registerControllers } from \"stimulus-vite-helpers\";\n// Stimulus controllers\nimport PasswordVisibility from \"stimulus-password-visibility\";\nimport Popover from \"stimulus-popover\";\nimport Reveal from \"stimulus-reveal-controller\";\nimport Sortable from \"stimulus-sortable\";\n// Alpine\nimport Alpine from \"alpinejs\";\n// Shepherd\nimport Cookies from \"js-cookie\";\n// Turbo\nimport * as Turbo from \"@hotwired/turbo\";\n// Turbo Mount\nimport \"../turbo-mount\";\n\nTurbo.start();\n\nwindow.Cookies = Cookies;\n\nconst application = Application.start();\nconst controllers = import.meta.glob(\n [\n \"./../controllers/*.ts\",\n \"./../controllers/*.js\",\n \"./../controllers/*.tsx\",\n \"./../controllers/*.jsx\",\n ],\n { eager: true }\n);\n\nregisterControllers(application, controllers);\napplication.register(\"sortable\", Sortable);\napplication.register(\"password-visibility\", PasswordVisibility);\napplication.register(\"popover\", Popover);\napplication.register(\"reveal\", Reveal);\n\nwindow.Alpine = Alpine;\nAlpine.start();\n"],"file":"assets/application-DcAELKFb.js"}